/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * NEOISP hardware registers definition
 *
 * Copyright 2023-2024 NXP
 */

#ifndef NEO_REGS_H
#define NEO_REGS_H

#include <linux/regmap.h>

/* PIPE_CONF */
#define NEO_PIPE_CONF_SOFT_RESET 0x0
#define NEO_PIPE_CONF_SOFT_RESET_SOFT_RESET BIT(0)
#define NEO_PIPE_CONF_SOFT_RESET_HARD_RESET BIT(1)

#define NEO_PIPE_CONF_BUS_TXPARAM 0x4
#define NEO_PIPE_CONF_BUS_TXPARAM_OTLT_MASK GENMASK(7, 0)
#define NEO_PIPE_CONF_BUS_TXPARAM_OTLT_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_PIPE_CONF_BUS_TXPARAM_OTLT_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_PIPE_CONF_BUS_TXPARAM_OTHT_MASK GENMASK(15, 8)
#define NEO_PIPE_CONF_BUS_TXPARAM_OTHT_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_PIPE_CONF_BUS_TXPARAM_OTHT_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_PIPE_CONF_BUS_TXPARAM_POSTQOS_MASK GENMASK(23, 16)
#define NEO_PIPE_CONF_BUS_TXPARAM_POSTQOS_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_PIPE_CONF_BUS_TXPARAM_POSTQOS_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_PIPE_CONF_BUS_TXPARAM_BSIZE_MASK GENMASK(31, 24)
#define NEO_PIPE_CONF_BUS_TXPARAM_BSIZE_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_PIPE_CONF_BUS_TXPARAM_BSIZE_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_PIPE_CONF_REG_XFR_DIS 0x8
#define NEO_PIPE_CONF_REG_XFR_DIS_XFR_ERR_DIS BIT(31)

#define NEO_PIPE_CONF_CSI_CTRL 0x10
#define NEO_PIPE_CONF_CSI_CTRL_VID0_MASK GENMASK(4, 0)
#define NEO_PIPE_CONF_CSI_CTRL_VID0_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_PIPE_CONF_CSI_CTRL_VID0_GET(x) (((x) >> 0) &  GENMASK(4, 0))
#define NEO_PIPE_CONF_CSI_CTRL_VID1_MASK GENMASK(12, 8)
#define NEO_PIPE_CONF_CSI_CTRL_VID1_SET(x) (((x) & GENMASK(4, 0)) << 8)
#define NEO_PIPE_CONF_CSI_CTRL_VID1_GET(x) (((x) >> 8) &  GENMASK(4, 0))
#define NEO_PIPE_CONF_CSI_CTRL_SSEN BIT(29)
#define NEO_PIPE_CONF_CSI_CTRL_DEVL BIT(30)
#define NEO_PIPE_CONF_CSI_CTRL_CSI_EN BIT(31)

#define NEO_PIPE_CONF_FRAME_NUM 0x14
#define NEO_PIPE_CONF_FRAME_NUM_CURR_FRAME_MASK GENMASK(15, 0)
#define NEO_PIPE_CONF_FRAME_NUM_CURR_FRAME_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_PIPE_CONF_FRAME_NUM_CURR_FRAME_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_PIPE_CONF_FRAME_NUM_SHD_FRAME_MASK GENMASK(31, 16)
#define NEO_PIPE_CONF_FRAME_NUM_SHD_FRAME_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_PIPE_CONF_FRAME_NUM_SHD_FRAME_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_PIPE_CONF_REG_SHD_CTRL 0x18
#define NEO_PIPE_CONF_REG_SHD_CTRL_CTRL BIT(31)

#define NEO_PIPE_CONF_REG_SHD_CMD 0x1c

#define NEO_PIPE_CONF_TRIG_CAM0 0x20
#define NEO_PIPE_CONF_TRIG_CAM0_TRIGGER BIT(0)

#define NEO_PIPE_CONF_IMG_CONF_CAM0 0x30
#define NEO_PIPE_CONF_IMG_CONF_CAM0_IBPP0_MASK GENMASK(3, 0)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_IBPP0_SET(x) (((x) & GENMASK(3, 0)) << 0)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_IBPP0_GET(x) (((x) >> 0) &  GENMASK(3, 0))
#define NEO_PIPE_CONF_IMG_CONF_CAM0_INALIGN0 BIT(4)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_INALIGN0_SET(x) (((x) & BIT(0)) << 4)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_LPALIGN0 BIT(5)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_LPALIGN0_SET(x) (((x) & BIT(0)) << 5)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_IBPP1_MASK GENMASK(19, 16)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_IBPP1_SET(x) (((x) & GENMASK(3, 0)) << 16)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_IBPP1_GET(x) (((x) >> 16) &  GENMASK(3, 0))
#define NEO_PIPE_CONF_IMG_CONF_CAM0_INALIGN1 BIT(20)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_INALIGN1_SET(x) (((x) & BIT(0)) << 20)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_LPALIGN1 BIT(21)
#define NEO_PIPE_CONF_IMG_CONF_CAM0_LPALIGN1_SET(x) (((x) & BIT(0)) << 21)

#define NEO_PIPE_CONF_IMG_SIZE_CAM0 0x34
#define NEO_PIPE_CONF_IMG_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_PIPE_CONF_IMG_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_PIPE_CONF_IMG_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_PIPE_CONF_IMG_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_PIPE_CONF_IMG_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_PIPE_CONF_IMG_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))


#define NEO_PIPE_CONF_ADDR_SET(x) (((x) >> 4) & ~0u)

#define NEO_PIPE_CONF_IMG0_IN_ADDR_CAM0 0x3c

#define NEO_PIPE_CONF_IMG1_IN_ADDR_CAM0 0x40

#define NEO_PIPE_CONF_OUTCH0_ADDR_CAM0 0x44

#define NEO_PIPE_CONF_OUTCH1_ADDR_CAM0 0x48

#define NEO_PIPE_CONF_OUTIR_ADDR_CAM0 0x4c

#define NEO_PIPE_CONF_IMG0_IN_LS_CAM0 0x50
#define NEO_PIPE_CONF_IMG0_IN_LS_CAM0_LS_MASK GENMASK(31, 4)
#define NEO_PIPE_CONF_IMG0_IN_LS_CAM0_LS_SET(x) ((x) & GENMASK(31, 4))

#define NEO_PIPE_CONF_IMG1_IN_LS_CAM0 0x54
#define NEO_PIPE_CONF_IMG1_IN_LS_CAM0_LS_MASK GENMASK(31, 4)
#define NEO_PIPE_CONF_IMG1_IN_LS_CAM0_LS_SET(x) ((x) & GENMASK(31, 4))

#define NEO_PIPE_CONF_OUTCH0_LS_CAM0 0x58
#define NEO_PIPE_CONF_OUTCH0_LS_CAM0_LS_MASK GENMASK(31, 4)
#define NEO_PIPE_CONF_OUTCH0_LS_CAM0_LS_SET(x) ((x) & GENMASK(31, 4))

#define NEO_PIPE_CONF_OUTCH1_LS_CAM0 0x5c
#define NEO_PIPE_CONF_OUTCH1_LS_CAM0_LS_MASK GENMASK(31, 4)
#define NEO_PIPE_CONF_OUTCH1_LS_CAM0_LS_SET(x) ((x) & GENMASK(31, 4))

#define NEO_PIPE_CONF_OUTIR_LS_CAM0 0x60
#define NEO_PIPE_CONF_OUTIR_LS_CAM0_LS_MASK GENMASK(31, 4)
#define NEO_PIPE_CONF_OUTIR_LS_CAM0_LS_SET(x) ((x) & GENMASK(31, 4))

#define NEO_PIPE_CONF_SKIP_CTRL0 0x64
#define NEO_PIPE_CONF_SKIP_CTRL0_PRESKIP_MASK GENMASK(15, 0)
#define NEO_PIPE_CONF_SKIP_CTRL0_PRESKIP_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_PIPE_CONF_SKIP_CTRL0_PRESKIP_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_PIPE_CONF_SKIP_CTRL0_POSTSKIP_MASK GENMASK(31, 16)
#define NEO_PIPE_CONF_SKIP_CTRL0_POSTSKIP_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_PIPE_CONF_SKIP_CTRL0_POSTSKIP_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_PIPE_CONF_INT_EN0 0x68
#define NEO_PIPE_CONF_INT_EN0_EN_FS1 BIT(0)
#define NEO_PIPE_CONF_INT_EN0_EN_FS2 BIT(1)
#define NEO_PIPE_CONF_INT_EN0_EN_FD1 BIT(2)
#define NEO_PIPE_CONF_INT_EN0_EN_FD2 BIT(3)
#define NEO_PIPE_CONF_INT_EN0_EN_STATD BIT(4)
#define NEO_PIPE_CONF_INT_EN0_EN_DRCD BIT(5)
#define NEO_PIPE_CONF_INT_EN0_EN_BUS_ERR_MASK GENMASK(19, 16)
#define NEO_PIPE_CONF_INT_EN0_EN_BUS_ERR_SET(x) (((x) & GENMASK(3, 0)) << 16)
#define NEO_PIPE_CONF_INT_EN0_EN_BUS_ERR_GET(x) (((x) >> 16) &  GENMASK(3, 0))
#define NEO_PIPE_CONF_INT_EN0_EN_CSI_TERR BIT(29)
#define NEO_PIPE_CONF_INT_EN0_EN_TRIG_ERR BIT(30)

#define NEO_PIPE_CONF_INT_STAT0 0x6c
#define NEO_PIPE_CONF_INT_STAT0_S_FS1 BIT(0)
#define NEO_PIPE_CONF_INT_STAT0_S_FS2 BIT(1)
#define NEO_PIPE_CONF_INT_STAT0_S_FD1 BIT(2)
#define NEO_PIPE_CONF_INT_STAT0_S_FD2 BIT(3)
#define NEO_PIPE_CONF_INT_STAT0_S_STATD BIT(4)
#define NEO_PIPE_CONF_INT_STAT0_S_DRCD BIT(5)
#define NEO_PIPE_CONF_INT_STAT0_S_BUS_ERR_MASK GENMASK(19, 16)
#define NEO_PIPE_CONF_INT_STAT0_S_BUS_ERR_SET(x) (((x) & GENMASK(3, 0)) << 16)
#define NEO_PIPE_CONF_INT_STAT0_S_BUS_ERR_GET(x) (((x) >> 16) &  GENMASK(3, 0))
#define NEO_PIPE_CONF_INT_STAT0_S_CSI_TERR BIT(29)
#define NEO_PIPE_CONF_INT_STAT0_S_TRIG_ERR BIT(30)
#define NEO_PIPE_CONF_INT_STAT0_BUSY BIT(31)

#define NEO_PIPE_CONF_CSI_STAT 0x70
#define NEO_PIPE_CONF_CSI_STAT_S_SL_LP0 BIT(0)
#define NEO_PIPE_CONF_CSI_STAT_S_SF_LP0 BIT(1)
#define NEO_PIPE_CONF_CSI_STAT_S_DO_LP0 BIT(2)
#define NEO_PIPE_CONF_CSI_STAT_S_LOC_LP0 BIT(3)
#define NEO_PIPE_CONF_CSI_STAT_S_LO_LP0 BIT(4)
#define NEO_PIPE_CONF_CSI_STAT_S_CMD_LP0 BIT(5)
#define NEO_PIPE_CONF_CSI_STAT_S_LL_LP0 BIT(6)
#define NEO_PIPE_CONF_CSI_STAT_S_DATA_LP0 BIT(7)
#define NEO_PIPE_CONF_CSI_STAT_S_SL_LP1 BIT(16)
#define NEO_PIPE_CONF_CSI_STAT_S_SF_LP1 BIT(17)
#define NEO_PIPE_CONF_CSI_STAT_S_DO_LP1 BIT(18)
#define NEO_PIPE_CONF_CSI_STAT_S_LOC_LP1 BIT(19)
#define NEO_PIPE_CONF_CSI_STAT_S_LO_LP1 BIT(20)
#define NEO_PIPE_CONF_CSI_STAT_S_CMD_LP1 BIT(21)
#define NEO_PIPE_CONF_CSI_STAT_S_LL_LP1 BIT(22)
#define NEO_PIPE_CONF_CSI_STAT_S_DATA_LP1 BIT(23)
#define NEO_PIPE_CONF_CSI_STAT_S_STOP BIT(31)

/* HC */
#define NEO_HC_CTRL_CAM0 0xc0
#define NEO_HC_CTRL_CAM0_HOFFSET_MASK GENMASK(1, 0)
#define NEO_HC_CTRL_CAM0_HOFFSET_SET(x) (((x) & GENMASK(1, 0)) << 0)
#define NEO_HC_CTRL_CAM0_HOFFSET_GET(x) (((x) >> 0) &  GENMASK(1, 0))
#define NEO_HC_CTRL_CAM0_VOFFSET_MASK GENMASK(3, 2)
#define NEO_HC_CTRL_CAM0_VOFFSET_SET(x) (((x) & GENMASK(1, 0)) << 2)
#define NEO_HC_CTRL_CAM0_VOFFSET_GET(x) (((x) >> 2) &  GENMASK(1, 0))

/* HDR_DECOMPRESS0 */
#define NEO_HDR_DECOMPRESS0_CTRL_CAM0 0x100
#define NEO_HDR_DECOMPRESS0_CTRL_CAM0_ENABLE BIT(31)
#define NEO_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_HDR_DECOMPRESS0_KNEE_POINT1_CAM0 0x104
#define NEO_HDR_DECOMPRESS0_KNEE_POINT1_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT1_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT1_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_POINT2_CAM0 0x108
#define NEO_HDR_DECOMPRESS0_KNEE_POINT2_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT2_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT2_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_POINT3_CAM0 0x10c
#define NEO_HDR_DECOMPRESS0_KNEE_POINT3_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT3_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT3_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_POINT4_CAM0 0x110
#define NEO_HDR_DECOMPRESS0_KNEE_POINT4_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT4_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_POINT4_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET0_CAM0 0x114
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET0_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET0_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET0_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET1_CAM0 0x118
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET1_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET1_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET1_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET2_CAM0 0x11c
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET2_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET2_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET2_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET3_CAM0 0x120
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET3_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET3_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET3_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET4_CAM0 0x124
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET4_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET4_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_OFFSET4_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0 0x128
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_RATIO0_MASK GENMASK(11, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_RATIO0_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_RATIO0_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_RATIO1_MASK GENMASK(27, 16)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_RATIO1_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_RATIO1_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0 0x12c
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_RATIO2_MASK GENMASK(11, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_RATIO2_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_RATIO2_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_RATIO3_MASK GENMASK(27, 16)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_RATIO3_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_RATIO3_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_RATIO4_CAM0 0x130
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO4_CAM0_RATIO4_MASK GENMASK(11, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO4_CAM0_RATIO4_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_RATIO4_CAM0_RATIO4_GET(x) (((x) >> 0) &  GENMASK(11, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT0_CAM0 0x134
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT0_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT0_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT0_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT1_CAM0 0x138
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT1_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT1_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT1_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT2_CAM0 0x13c
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT2_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT2_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT2_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT3_CAM0 0x140
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT3_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT3_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT3_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT4_CAM0 0x144
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT4_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT4_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_HDR_DECOMPRESS0_KNEE_NPOINT4_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

/* HDR_DECOMPRESS1 */
#define NEO_HDR_DECOMPRESS1_CTRL_CAM0 0x180
#define NEO_HDR_DECOMPRESS1_CTRL_CAM0_ENABLE BIT(31)

#define NEO_HDR_DECOMPRESS1_KNEE_POINT1_CAM0 0x184
#define NEO_HDR_DECOMPRESS1_KNEE_POINT1_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT1_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT1_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_POINT2_CAM0 0x188
#define NEO_HDR_DECOMPRESS1_KNEE_POINT2_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT2_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT2_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_POINT3_CAM0 0x18c
#define NEO_HDR_DECOMPRESS1_KNEE_POINT3_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT3_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT3_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_POINT4_CAM0 0x190
#define NEO_HDR_DECOMPRESS1_KNEE_POINT4_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT4_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_POINT4_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET0_CAM0 0x194
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET0_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET0_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET0_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET1_CAM0 0x198
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET1_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET1_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET1_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET2_CAM0 0x19c
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET2_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET2_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET2_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET3_CAM0 0x1a0
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET3_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET3_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET3_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET4_CAM0 0x1a4
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET4_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET4_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_OFFSET4_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0 0x1a8
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_RATIO0_MASK GENMASK(11, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_RATIO0_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_RATIO0_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_RATIO1_MASK GENMASK(27, 16)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_RATIO1_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_RATIO1_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0 0x1ac
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_RATIO2_MASK GENMASK(11, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_RATIO2_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_RATIO2_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_RATIO3_MASK GENMASK(27, 16)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_RATIO3_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_RATIO3_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_RATIO4_CAM0 0x1b0
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO4_CAM0_RATIO4_MASK GENMASK(11, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO4_CAM0_RATIO4_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_RATIO4_CAM0_RATIO4_GET(x) (((x) >> 0) &  GENMASK(11, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT0_CAM0 0x1b4
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT0_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT0_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT0_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT1_CAM0 0x1b8
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT1_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT1_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT1_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT2_CAM0 0x1bc
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT2_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT2_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT2_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT3_CAM0 0x1c0
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT3_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT3_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT3_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT4_CAM0 0x1c4
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT4_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT4_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_DECOMPRESS1_KNEE_NPOINT4_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

/* OB_WB0 */
#define NEO_OB_WB0_CTRL_CAM0 0x200
#define NEO_OB_WB0_CTRL_CAM0_OBPP_MASK GENMASK(3, 2)
#define NEO_OB_WB0_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(1, 0)) << 2)
#define NEO_OB_WB0_CTRL_CAM0_OBPP_GET(x) (((x) >> 2) &  GENMASK(1, 0))

#define NEO_OB_WB0_R_CTRL_CAM0 0x204
#define NEO_OB_WB0_R_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB0_R_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB0_R_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB0_R_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB0_R_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB0_R_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB0_GR_CTRL_CAM0 0x208
#define NEO_OB_WB0_GR_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB0_GR_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB0_GR_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB0_GR_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB0_GR_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB0_GR_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB0_GB_CTRL_CAM0 0x20c
#define NEO_OB_WB0_GB_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB0_GB_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB0_GB_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB0_GB_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB0_GB_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB0_GB_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB0_B_CTRL_CAM0 0x210
#define NEO_OB_WB0_B_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB0_B_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB0_B_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB0_B_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB0_B_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB0_B_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

/* OB_WB1 */
#define NEO_OB_WB1_CTRL_CAM0 0x240
#define NEO_OB_WB1_CTRL_CAM0_OBPP_MASK GENMASK(3, 2)
#define NEO_OB_WB1_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(1, 0)) << 2)
#define NEO_OB_WB1_CTRL_CAM0_OBPP_GET(x) (((x) >> 2) &  GENMASK(1, 0))

#define NEO_OB_WB1_R_CTRL_CAM0 0x244
#define NEO_OB_WB1_R_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB1_R_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB1_R_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB1_R_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB1_R_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB1_R_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB1_GR_CTRL_CAM0 0x248
#define NEO_OB_WB1_GR_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB1_GR_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB1_GR_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB1_GR_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB1_GR_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB1_GR_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB1_GB_CTRL_CAM0 0x24c
#define NEO_OB_WB1_GB_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB1_GB_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB1_GB_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB1_GB_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB1_GB_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB1_GB_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB1_B_CTRL_CAM0 0x250
#define NEO_OB_WB1_B_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB1_B_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB1_B_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB1_B_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB1_B_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB1_B_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

/* OB_WB2 */
#define NEO_OB_WB2_CTRL_CAM0 0x280
#define NEO_OB_WB2_CTRL_CAM0_OBPP_MASK GENMASK(3, 2)
#define NEO_OB_WB2_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(1, 0)) << 2)
#define NEO_OB_WB2_CTRL_CAM0_OBPP_GET(x) (((x) >> 2) &  GENMASK(1, 0))

#define NEO_OB_WB2_R_CTRL_CAM0 0x284
#define NEO_OB_WB2_R_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB2_R_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB2_R_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB2_R_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB2_R_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB2_R_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB2_GR_CTRL_CAM0 0x288
#define NEO_OB_WB2_GR_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB2_GR_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB2_GR_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB2_GR_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB2_GR_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB2_GR_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB2_GB_CTRL_CAM0 0x28c
#define NEO_OB_WB2_GB_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB2_GB_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB2_GB_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB2_GB_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB2_GB_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB2_GB_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_OB_WB2_B_CTRL_CAM0 0x290
#define NEO_OB_WB2_B_CTRL_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_OB_WB2_B_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_OB_WB2_B_CTRL_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_OB_WB2_B_CTRL_CAM0_GAIN_MASK GENMASK(31, 16)
#define NEO_OB_WB2_B_CTRL_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_OB_WB2_B_CTRL_CAM0_GAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

/* HDR_MERGE */
#define NEO_HDR_MERGE_CTRL_CAM0 0x300
#define NEO_HDR_MERGE_CTRL_CAM0_OBPP_MASK GENMASK(3, 2)
#define NEO_HDR_MERGE_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(1, 0)) << 2)
#define NEO_HDR_MERGE_CTRL_CAM0_OBPP_GET(x) (((x) >> 2) &  GENMASK(1, 0))
#define NEO_HDR_MERGE_CTRL_CAM0_SAFETY_ON BIT(4)
#define NEO_HDR_MERGE_CTRL_CAM0_MOTION_FIX_EN BIT(8)
#define NEO_HDR_MERGE_CTRL_CAM0_MOTION_FIX_EN_SET(x) (((x) << 8) & BIT(8))
#define NEO_HDR_MERGE_CTRL_CAM0_BLEND_3X3 BIT(9)
#define NEO_HDR_MERGE_CTRL_CAM0_BLEND_3X3_SET(x) (((x) << 9) & BIT(9))
#define NEO_HDR_MERGE_CTRL_CAM0_GAIN0BPP_MASK GENMASK(17, 16)
#define NEO_HDR_MERGE_CTRL_CAM0_GAIN0BPP_SET(x) (((x) & GENMASK(1, 0)) << 16)
#define NEO_HDR_MERGE_CTRL_CAM0_GAIN0BPP_GET(x) (((x) >> 16) &  GENMASK(1, 0))
#define NEO_HDR_MERGE_CTRL_CAM0_GAIN1BPP_MASK GENMASK(19, 18)
#define NEO_HDR_MERGE_CTRL_CAM0_GAIN1BPP_SET(x) (((x) & GENMASK(1, 0)) << 18)
#define NEO_HDR_MERGE_CTRL_CAM0_GAIN1BPP_GET(x) (((x) >> 18) &  GENMASK(1, 0))
#define NEO_HDR_MERGE_CTRL_CAM0_ENABLE BIT(31)
#define NEO_HDR_MERGE_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0 0x304
#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0_OFFSET0_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0_OFFSET0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0_OFFSET1_MASK GENMASK(31, 16)
#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0_OFFSET1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_HDR_MERGE_GAIN_OFFSET_CAM0_OFFSET1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_HDR_MERGE_GAIN_SCALE_CAM0 0x308
#define NEO_HDR_MERGE_GAIN_SCALE_CAM0_SCALE0_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_GAIN_SCALE_CAM0_SCALE0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_GAIN_SCALE_CAM0_SCALE0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_HDR_MERGE_GAIN_SCALE_CAM0_SCALE1_MASK GENMASK(31, 16)
#define NEO_HDR_MERGE_GAIN_SCALE_CAM0_SCALE1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_HDR_MERGE_GAIN_SCALE_CAM0_SCALE1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0 0x30c
#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0_SHIFT0_MASK GENMASK(4, 0)
#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0_SHIFT0_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0_SHIFT0_GET(x) (((x) >> 0) &  GENMASK(4, 0))
#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0_SHIFT1_MASK GENMASK(20, 16)
#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0_SHIFT1_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_HDR_MERGE_GAIN_SHIFT_CAM0_SHIFT1_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_LUMA_TH_CAM0 0x310
#define NEO_HDR_MERGE_LUMA_TH_CAM0_TH0_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_LUMA_TH_CAM0_TH0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_LUMA_TH_CAM0_TH0_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_MERGE_LUMA_SCALE_CAM0 0x314
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_THSHIFT_MASK GENMASK(28, 24)
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_THSHIFT_SET(x) (((x) & GENMASK(4, 0)) << 24)
#define NEO_HDR_MERGE_LUMA_SCALE_CAM0_THSHIFT_GET(x) (((x) >> 24) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_DOWNSCALE_CAM0 0x318
#define NEO_HDR_MERGE_DOWNSCALE_CAM0_IMGSCALE0_MASK GENMASK(4, 0)
#define NEO_HDR_MERGE_DOWNSCALE_CAM0_IMGSCALE0_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_HDR_MERGE_DOWNSCALE_CAM0_IMGSCALE0_GET(x) (((x) >> 0) &  GENMASK(4, 0))
#define NEO_HDR_MERGE_DOWNSCALE_CAM0_IMGSCALE1_MASK GENMASK(20, 16)
#define NEO_HDR_MERGE_DOWNSCALE_CAM0_IMGSCALE1_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_HDR_MERGE_DOWNSCALE_CAM0_IMGSCALE1_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_UPSCALE_CAM0 0x31c
#define NEO_HDR_MERGE_UPSCALE_CAM0_IMGSCALE0_MASK GENMASK(3, 0)
#define NEO_HDR_MERGE_UPSCALE_CAM0_IMGSCALE0_SET(x) (((x) & GENMASK(3, 0)) << 0)
#define NEO_HDR_MERGE_UPSCALE_CAM0_IMGSCALE0_GET(x) (((x) >> 0) &  GENMASK(3, 0))
#define NEO_HDR_MERGE_UPSCALE_CAM0_IMGSCALE1_MASK GENMASK(19, 16)
#define NEO_HDR_MERGE_UPSCALE_CAM0_IMGSCALE1_SET(x) (((x) & GENMASK(3, 0)) << 16)
#define NEO_HDR_MERGE_UPSCALE_CAM0_IMGSCALE1_GET(x) (((x) >> 16) &  GENMASK(3, 0))

#define NEO_HDR_MERGE_POST_SCALE_CAM0 0x320
#define NEO_HDR_MERGE_POST_SCALE_CAM0_SCALE_MASK GENMASK(4, 0)
#define NEO_HDR_MERGE_POST_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_HDR_MERGE_POST_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0 0x324
#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_OFFSET0_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_OFFSET0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_OFFSET1_MASK GENMASK(31, 16)
#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_OFFSET1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_OFFSET1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0 0x328
#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_SCALE0_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_SCALE0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_SCALE0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_SCALE1_MASK GENMASK(31, 16)
#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_SCALE1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_SCALE1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0 0x32c
#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_SHIFT0_MASK GENMASK(4, 0)
#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_SHIFT0_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_SHIFT0_GET(x) (((x) >> 0) &  GENMASK(4, 0))
#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_SHIFT1_MASK GENMASK(20, 16)
#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_SHIFT1_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_SHIFT1_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_S_LUMA_TH_CAM0 0x330
#define NEO_HDR_MERGE_S_LUMA_TH_CAM0_TH0_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_S_LUMA_TH_CAM0_TH0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_S_LUMA_TH_CAM0_TH0_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0 0x334
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_THSHIFT_MASK GENMASK(28, 24)
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_THSHIFT_SET(x) (((x) & GENMASK(4, 0)) << 24)
#define NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_THSHIFT_GET(x) (((x) >> 24) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0 0x338
#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IMGSCALE0_MASK GENMASK(4, 0)
#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IMGSCALE0_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IMGSCALE0_GET(x) (((x) >> 0) &  GENMASK(4, 0))
#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IMGSCALE1_MASK GENMASK(20, 16)
#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IMGSCALE1_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IMGSCALE1_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_S_UPSCALE_CAM0 0x33c
#define NEO_HDR_MERGE_S_UPSCALE_CAM0_IMGSCALE0_MASK GENMASK(3, 0)
#define NEO_HDR_MERGE_S_UPSCALE_CAM0_IMGSCALE0_SET(x) (((x) & GENMASK(3, 0)) << 0)
#define NEO_HDR_MERGE_S_UPSCALE_CAM0_IMGSCALE0_GET(x) (((x) >> 0) &  GENMASK(3, 0))
#define NEO_HDR_MERGE_S_UPSCALE_CAM0_IMGSCALE1_MASK GENMASK(19, 16)
#define NEO_HDR_MERGE_S_UPSCALE_CAM0_IMGSCALE1_SET(x) (((x) & GENMASK(3, 0)) << 16)
#define NEO_HDR_MERGE_S_UPSCALE_CAM0_IMGSCALE1_GET(x) (((x) >> 16) &  GENMASK(3, 0))

#define NEO_HDR_MERGE_S_POST_SCALE_CAM0 0x340
#define NEO_HDR_MERGE_S_POST_SCALE_CAM0_SCALE_MASK GENMASK(4, 0)
#define NEO_HDR_MERGE_S_POST_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_HDR_MERGE_S_POST_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(4, 0))

#define NEO_HDR_MERGE_S_LINE_NUM_CAM0 0x344
#define NEO_HDR_MERGE_S_LINE_NUM_CAM0_LINE_MASK GENMASK(15, 1)
#define NEO_HDR_MERGE_S_LINE_NUM_CAM0_LINE_SET(x) (((x) & GENMASK(14, 0)) << 1)
#define NEO_HDR_MERGE_S_LINE_NUM_CAM0_LINE_GET(x) (((x) >> 1) &  GENMASK(14, 0))

/* COLOR_TEMP */
#define NEO_COLOR_TEMP_CTRL_CAM0 0x400
#define NEO_COLOR_TEMP_CTRL_CAM0_IBPP_MASK GENMASK(1, 0)
#define NEO_COLOR_TEMP_CTRL_CAM0_IBPP_SET(x) (((x) & GENMASK(1, 0)) << 0)
#define NEO_COLOR_TEMP_CTRL_CAM0_IBPP_GET(x) (((x) >> 0) &  GENMASK(1, 0))
#define NEO_COLOR_TEMP_CTRL_CAM0_CSCON BIT(4)
#define NEO_COLOR_TEMP_CTRL_CAM0_CSCON_SET(x) (((x) << 4) & BIT(4))
#define NEO_COLOR_TEMP_CTRL_CAM0_ENABLE BIT(31)
#define NEO_COLOR_TEMP_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_COLOR_TEMP_ROI_POS_CAM0 0x404
#define NEO_COLOR_TEMP_ROI_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_ROI_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_ROI_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_ROI_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_ROI_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_ROI_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_ROI_SIZE_CAM0 0x408
#define NEO_COLOR_TEMP_ROI_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_ROI_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_ROI_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_ROI_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_ROI_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_ROI_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_REDGAIN_CAM0 0x40c
#define NEO_COLOR_TEMP_REDGAIN_CAM0_MIN_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_REDGAIN_CAM0_MIN_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_REDGAIN_CAM0_MIN_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_REDGAIN_CAM0_MAX_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_REDGAIN_CAM0_MAX_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_REDGAIN_CAM0_MAX_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_BLUEGAIN_CAM0 0x410
#define NEO_COLOR_TEMP_BLUEGAIN_CAM0_MIN_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_BLUEGAIN_CAM0_MIN_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_BLUEGAIN_CAM0_MIN_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_BLUEGAIN_CAM0_MAX_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_BLUEGAIN_CAM0_MAX_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_BLUEGAIN_CAM0_MAX_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_POINT1_CAM0 0x414
#define NEO_COLOR_TEMP_POINT1_CAM0_BLUE_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_POINT1_CAM0_BLUE_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_POINT1_CAM0_BLUE_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_POINT1_CAM0_RED_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_POINT1_CAM0_RED_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_POINT1_CAM0_RED_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_POINT2_CAM0 0x418
#define NEO_COLOR_TEMP_POINT2_CAM0_BLUE_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_POINT2_CAM0_BLUE_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_POINT2_CAM0_BLUE_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_POINT2_CAM0_RED_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_POINT2_CAM0_RED_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_POINT2_CAM0_RED_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_HOFFSET_CAM0 0x41c
#define NEO_COLOR_TEMP_HOFFSET_CAM0_RIGHT_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_HOFFSET_CAM0_RIGHT_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_HOFFSET_CAM0_RIGHT_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_HOFFSET_CAM0_LEFT_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_HOFFSET_CAM0_LEFT_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_HOFFSET_CAM0_LEFT_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_VOFFSET_CAM0 0x420
#define NEO_COLOR_TEMP_VOFFSET_CAM0_UP_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_VOFFSET_CAM0_UP_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_VOFFSET_CAM0_UP_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_VOFFSET_CAM0_DOWN_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_VOFFSET_CAM0_DOWN_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_VOFFSET_CAM0_DOWN_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0 0x424
#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_SLOPE_L_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_SLOPE_L_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_SLOPE_L_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_SLOPE_R_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_SLOPE_R_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_SLOPE_R_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0 0x428
#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_SLOPE_L_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_SLOPE_L_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_SLOPE_L_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_SLOPE_R_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_SLOPE_R_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_SLOPE_R_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_LUMA_TH_CAM0 0x42c
#define NEO_COLOR_TEMP_LUMA_TH_CAM0_THL_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_LUMA_TH_CAM0_THL_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_LUMA_TH_CAM0_THL_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_LUMA_TH_CAM0_THH_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_LUMA_TH_CAM0_THH_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_LUMA_TH_CAM0_THH_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_CSC_MAT0_CAM0 0x430
#define NEO_COLOR_TEMP_CSC_MAT0_CAM0_R0C0_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_CSC_MAT0_CAM0_R0C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_CSC_MAT0_CAM0_R0C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_CSC_MAT0_CAM0_R0C1_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_CSC_MAT0_CAM0_R0C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_CSC_MAT0_CAM0_R0C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_CSC_MAT1_CAM0 0x434
#define NEO_COLOR_TEMP_CSC_MAT1_CAM0_R0C2_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_CSC_MAT1_CAM0_R0C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_CSC_MAT1_CAM0_R0C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_CSC_MAT1_CAM0_R1C0_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_CSC_MAT1_CAM0_R1C0_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_CSC_MAT1_CAM0_R1C0_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_CSC_MAT2_CAM0 0x438
#define NEO_COLOR_TEMP_CSC_MAT2_CAM0_R1C1_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_CSC_MAT2_CAM0_R1C1_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_CSC_MAT2_CAM0_R1C1_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_CSC_MAT2_CAM0_R1C2_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_CSC_MAT2_CAM0_R1C2_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_CSC_MAT2_CAM0_R1C2_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_CSC_MAT3_CAM0 0x43c
#define NEO_COLOR_TEMP_CSC_MAT3_CAM0_R2C0_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_CSC_MAT3_CAM0_R2C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_CSC_MAT3_CAM0_R2C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_CSC_MAT3_CAM0_R2C1_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_CSC_MAT3_CAM0_R2C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_CSC_MAT3_CAM0_R2C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_CSC_MAT4_CAM0 0x440
#define NEO_COLOR_TEMP_CSC_MAT4_CAM0_R2C2_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_CSC_MAT4_CAM0_R2C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_CSC_MAT4_CAM0_R2C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0 0x444
#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_OFFSET0_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_OFFSET0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_OFFSET1_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_OFFSET1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_OFFSET1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0 0x448
#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_OFFSET0_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_OFFSET0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_OFFSET1_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_OFFSET1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_OFFSET1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_CNT_WHITE_CAM0 0x44c

#define NEO_COLOR_TEMP_SUMRL_CAM0 0x450

#define NEO_COLOR_TEMP_SUMRH_CAM0 0x454

#define NEO_COLOR_TEMP_SUMGL_CAM0 0x458

#define NEO_COLOR_TEMP_SUMGH_CAM0 0x45c

#define NEO_COLOR_TEMP_SUMBL_CAM0 0x460

#define NEO_COLOR_TEMP_SUMBH_CAM0 0x464

#define NEO_COLOR_TEMP_SUMRGL_CAM0 0x468

#define NEO_COLOR_TEMP_SUMRGH_CAM0 0x46c

#define NEO_COLOR_TEMP_SUMBGL_CAM0 0x470

#define NEO_COLOR_TEMP_SUMBGH_CAM0 0x474

#define NEO_COLOR_TEMP_STAT_BLK_SIZE0 0x480
#define NEO_COLOR_TEMP_STAT_BLK_SIZE0_XSIZE_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_STAT_BLK_SIZE0_XSIZE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_STAT_BLK_SIZE0_XSIZE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_STAT_BLK_SIZE0_YSIZE_MASK GENMASK(31, 16)
#define NEO_COLOR_TEMP_STAT_BLK_SIZE0_YSIZE_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_COLOR_TEMP_STAT_BLK_SIZE0_YSIZE_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0 0x488
#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_BLKLNE_MASK GENMASK(15, 0)
#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_BLKLNE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_BLKLNE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_BLKROW_MASK GENMASK(18, 16)
#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_BLKROW_SET(x) (((x) & GENMASK(2, 0)) << 16)
#define NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_BLKROW_GET(x) (((x) >> 16) &  GENMASK(2, 0))

#define NEO_COLOR_TEMP_CROI0_POS_CAM0 0x490
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI0_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI0_PIXCNT_CAM0 0x498
#define NEO_COLOR_TEMP_CROI0_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI0_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI0_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI0_SUMRED_CAM0 0x49c

#define NEO_COLOR_TEMP_CROI0_SUMGREEN_CAM0 0x4a0

#define NEO_COLOR_TEMP_CROI0_SUMBLUE_CAM0 0x4a4

#define NEO_COLOR_TEMP_CROI1_POS_CAM0 0x4a8
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI1_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI1_PIXCNT_CAM0 0x4b0
#define NEO_COLOR_TEMP_CROI1_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI1_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI1_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI1_SUMRED_CAM0 0x4b4

#define NEO_COLOR_TEMP_CROI1_SUMGREEN_CAM0 0x4b8

#define NEO_COLOR_TEMP_CROI1_SUMBLUE_CAM0 0x4bc

#define NEO_COLOR_TEMP_CROI2_POS_CAM0 0x4c0
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI2_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI2_PIXCNT_CAM0 0x4c8
#define NEO_COLOR_TEMP_CROI2_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI2_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI2_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI2_SUMRED_CAM0 0x4cc

#define NEO_COLOR_TEMP_CROI2_SUMGREEN_CAM0 0x4d0

#define NEO_COLOR_TEMP_CROI2_SUMBLUE_CAM0 0x4d4

#define NEO_COLOR_TEMP_CROI3_POS_CAM0 0x4d8
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI3_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI3_PIXCNT_CAM0 0x4e0
#define NEO_COLOR_TEMP_CROI3_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI3_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI3_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI3_SUMRED_CAM0 0x4e4

#define NEO_COLOR_TEMP_CROI3_SUMGREEN_CAM0 0x4e8

#define NEO_COLOR_TEMP_CROI3_SUMBLUE_CAM0 0x4ec

#define NEO_COLOR_TEMP_CROI4_POS_CAM0 0x4f0
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI4_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI4_PIXCNT_CAM0 0x4f8
#define NEO_COLOR_TEMP_CROI4_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI4_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI4_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI4_SUMRED_CAM0 0x4fc

#define NEO_COLOR_TEMP_CROI4_SUMGREEN_CAM0 0x500

#define NEO_COLOR_TEMP_CROI4_SUMBLUE_CAM0 0x504

#define NEO_COLOR_TEMP_CROI5_POS_CAM0 0x508
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI5_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI5_PIXCNT_CAM0 0x510
#define NEO_COLOR_TEMP_CROI5_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI5_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI5_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI5_SUMRED_CAM0 0x514

#define NEO_COLOR_TEMP_CROI5_SUMGREEN_CAM0 0x518

#define NEO_COLOR_TEMP_CROI5_SUMBLUE_CAM0 0x51c

#define NEO_COLOR_TEMP_CROI6_POS_CAM0 0x520
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI6_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI6_PIXCNT_CAM0 0x528
#define NEO_COLOR_TEMP_CROI6_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI6_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI6_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI6_SUMRED_CAM0 0x52c

#define NEO_COLOR_TEMP_CROI6_SUMGREEN_CAM0 0x530

#define NEO_COLOR_TEMP_CROI6_SUMBLUE_CAM0 0x534

#define NEO_COLOR_TEMP_CROI7_POS_CAM0 0x538
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI7_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI7_PIXCNT_CAM0 0x540
#define NEO_COLOR_TEMP_CROI7_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI7_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI7_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI7_SUMRED_CAM0 0x544

#define NEO_COLOR_TEMP_CROI7_SUMGREEN_CAM0 0x548

#define NEO_COLOR_TEMP_CROI7_SUMBLUE_CAM0 0x54c

#define NEO_COLOR_TEMP_CROI8_POS_CAM0 0x550
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI8_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI8_PIXCNT_CAM0 0x558
#define NEO_COLOR_TEMP_CROI8_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI8_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI8_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI8_SUMRED_CAM0 0x55c

#define NEO_COLOR_TEMP_CROI8_SUMGREEN_CAM0 0x560

#define NEO_COLOR_TEMP_CROI8_SUMBLUE_CAM0 0x564

#define NEO_COLOR_TEMP_CROI9_POS_CAM0 0x568
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_ROVERG_LOW_MASK GENMASK(7, 0)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_ROVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_ROVERG_LOW_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_ROVERG_HIGH_MASK GENMASK(15, 8)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_ROVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_ROVERG_HIGH_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_BOVERG_LOW_MASK GENMASK(23, 16)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_BOVERG_LOW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_BOVERG_LOW_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_BOVERG_HIGH_MASK GENMASK(31, 24)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_BOVERG_HIGH_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_COLOR_TEMP_CROI9_POS_CAM0_BOVERG_HIGH_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_COLOR_TEMP_CROI9_PIXCNT_CAM0 0x570
#define NEO_COLOR_TEMP_CROI9_PIXCNT_CAM0_PIXCNT_MASK GENMASK(23, 0)
#define NEO_COLOR_TEMP_CROI9_PIXCNT_CAM0_PIXCNT_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_COLOR_TEMP_CROI9_PIXCNT_CAM0_PIXCNT_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_COLOR_TEMP_CROI9_SUMRED_CAM0 0x574

#define NEO_COLOR_TEMP_CROI9_SUMGREEN_CAM0 0x578

#define NEO_COLOR_TEMP_CROI9_SUMBLUE_CAM0 0x57c

#define NEO_COLOR_TEMP_GR_AVG_IN_CAM0 0x584
#define NEO_COLOR_TEMP_GR_AVG_IN_CAM0_GR_AGV_MASK GENMASK(19, 0)
#define NEO_COLOR_TEMP_GR_AVG_IN_CAM0_GR_AGV_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_COLOR_TEMP_GR_AVG_IN_CAM0_GR_AGV_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_COLOR_TEMP_GB_AVG_IN_CAM0 0x588
#define NEO_COLOR_TEMP_GB_AVG_IN_CAM0_GB_AGV_MASK GENMASK(19, 0)
#define NEO_COLOR_TEMP_GB_AVG_IN_CAM0_GB_AGV_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_COLOR_TEMP_GB_AVG_IN_CAM0_GB_AGV_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_COLOR_TEMP_GR_GB_CNT_CAM0 0x58c

#define NEO_COLOR_TEMP_GR_SUM_CAM0 0x590

#define NEO_COLOR_TEMP_GB_SUM_CAM0 0x594

#define NEO_COLOR_TEMP_GR2_SUM_CAM0 0x598

#define NEO_COLOR_TEMP_GB2_SUM_CAM0 0x59c

#define NEO_COLOR_TEMP_GRGB_SUM_CAM0 0x5a0

/* RGBIR */
#define NEO_RGBIR_CTRL_CAM0 0x600
#define NEO_RGBIR_CTRL_CAM0_ENABLE BIT(31)
#define NEO_RGBIR_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_RGBIR_CCM0_CAM0 0x604
#define NEO_RGBIR_CCM0_CAM0_CCM_MASK GENMASK(15, 0)
#define NEO_RGBIR_CCM0_CAM0_CCM_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_CCM0_CAM0_CCM_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_RGBIR_CCM1_CAM0 0x608
#define NEO_RGBIR_CCM1_CAM0_CCM_MASK GENMASK(15, 0)
#define NEO_RGBIR_CCM1_CAM0_CCM_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_CCM1_CAM0_CCM_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_RGBIR_CCM2_CAM0 0x60c
#define NEO_RGBIR_CCM2_CAM0_CCM_MASK GENMASK(15, 0)
#define NEO_RGBIR_CCM2_CAM0_CCM_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_CCM2_CAM0_CCM_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_RGBIR_CCM0_TH_CAM0 0x610
#define NEO_RGBIR_CCM0_TH_CAM0_THRESHOLD_MASK GENMASK(19, 0)
#define NEO_RGBIR_CCM0_TH_CAM0_THRESHOLD_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_RGBIR_CCM0_TH_CAM0_THRESHOLD_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_RGBIR_CCM1_TH_CAM0 0x614
#define NEO_RGBIR_CCM1_TH_CAM0_THRESHOLD_MASK GENMASK(19, 0)
#define NEO_RGBIR_CCM1_TH_CAM0_THRESHOLD_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_RGBIR_CCM1_TH_CAM0_THRESHOLD_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_RGBIR_CCM2_TH_CAM0 0x618
#define NEO_RGBIR_CCM2_TH_CAM0_THRESHOLD_MASK GENMASK(19, 0)
#define NEO_RGBIR_CCM2_TH_CAM0_THRESHOLD_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_RGBIR_CCM2_TH_CAM0_THRESHOLD_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_RGBIR_ROI0_POS_CAM0 0x620
#define NEO_RGBIR_ROI0_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_RGBIR_ROI0_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_ROI0_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGBIR_ROI0_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_RGBIR_ROI0_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGBIR_ROI0_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGBIR_ROI0_SIZE_CAM0 0x624
#define NEO_RGBIR_ROI0_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_RGBIR_ROI0_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_ROI0_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGBIR_ROI0_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_RGBIR_ROI0_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGBIR_ROI0_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGBIR_ROI1_POS_CAM0 0x628
#define NEO_RGBIR_ROI1_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_RGBIR_ROI1_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_ROI1_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGBIR_ROI1_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_RGBIR_ROI1_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGBIR_ROI1_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGBIR_ROI1_SIZE_CAM0 0x62c
#define NEO_RGBIR_ROI1_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_RGBIR_ROI1_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGBIR_ROI1_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGBIR_ROI1_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_RGBIR_ROI1_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGBIR_ROI1_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGBIR_HIST0_CTRL_CAM0 0x630
#define NEO_RGBIR_HIST0_CTRL_CAM0_LIN_INPUT1_LOG BIT(0)
#define NEO_HIST_CTRL_CAM0_LIN_INPUT1_LOG_SET(x) ((x) & BIT(0))
#define NEO_RGBIR_HIST0_CTRL_CAM0_DIR_INPUT1_DIF BIT(1)
#define NEO_HIST_CTRL_CAM0_DIR_INPUT1_DIF_SET(x) (((x) << 1) & BIT(1))
#define NEO_RGBIR_HIST0_CTRL_CAM0_PATTERN BIT(2)
#define NEO_HIST_CTRL_CAM0_PATTERN_SET(x) (((x) << 2) & BIT(2))
#define NEO_RGBIR_HIST0_CTRL_CAM0_CHANNEL_MASK GENMASK(11, 8)
#define NEO_HIST_CTRL_CAM0_CHANNEL_SET(x) (((x) & GENMASK(3, 0)) << 8)
#define NEO_RGBIR_HIST0_CTRL_CAM0_CHANNEL_GET(x) (((x) >> 8) &  GENMASK(3, 0))
#define NEO_RGBIR_HIST0_CTRL_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_HIST_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGBIR_HIST0_CTRL_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGBIR_HIST0_SCALE_CAM0 0x634
#define NEO_RGBIR_HIST0_SCALE_CAM0_SCALE_MASK GENMASK(23, 0)
#define NEO_RGBIR_HIST0_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_RGBIR_HIST0_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_RGBIR_HIST1_CTRL_CAM0 0x638
#define NEO_RGBIR_HIST1_CTRL_CAM0_LIN_INPUT1_LOG BIT(0)
#define NEO_RGBIR_HIST1_CTRL_CAM0_DIR_INPUT1_DIF BIT(1)
#define NEO_RGBIR_HIST1_CTRL_CAM0_PATTERN BIT(2)
#define NEO_RGBIR_HIST1_CTRL_CAM0_CHANNEL_MASK GENMASK(11, 8)
#define NEO_RGBIR_HIST1_CTRL_CAM0_CHANNEL_SET(x) (((x) & GENMASK(3, 0)) << 8)
#define NEO_RGBIR_HIST1_CTRL_CAM0_CHANNEL_GET(x) (((x) >> 8) &  GENMASK(3, 0))
#define NEO_RGBIR_HIST1_CTRL_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_RGBIR_HIST1_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGBIR_HIST1_CTRL_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGBIR_HIST1_SCALE_CAM0 0x63c
#define NEO_RGBIR_HIST1_SCALE_CAM0_SCALE_MASK GENMASK(23, 0)
#define NEO_RGBIR_HIST1_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_RGBIR_HIST1_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(23, 0))

/* STAT */
#define NEO_STAT_ROI0_POS_CAM0 0x700
#define NEO_STAT_ROI0_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_STAT_ROI0_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_STAT_ROI0_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_STAT_ROI0_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_STAT_ROI0_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_ROI0_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_ROI0_SIZE_CAM0 0x704
#define NEO_STAT_ROI0_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_STAT_ROI0_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_STAT_ROI0_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_STAT_ROI0_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_STAT_ROI0_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_ROI0_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_ROI1_POS_CAM0 0x708
#define NEO_STAT_ROI1_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_STAT_ROI1_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_STAT_ROI1_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_STAT_ROI1_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_STAT_ROI1_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_ROI1_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_ROI1_SIZE_CAM0 0x70c
#define NEO_STAT_ROI1_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_STAT_ROI1_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_STAT_ROI1_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_STAT_ROI1_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_STAT_ROI1_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_ROI1_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_HIST0_CTRL_CAM0 0x720
#define NEO_STAT_HIST0_CTRL_CAM0_LIN_INPUT1_LOG BIT(0)
#define NEO_STAT_HIST0_CTRL_CAM0_DIR_INPUT1_DIF BIT(1)
#define NEO_STAT_HIST0_CTRL_CAM0_PATTERN BIT(2)
#define NEO_STAT_HIST0_CTRL_CAM0_CHANNEL_MASK GENMASK(11, 8)
#define NEO_STAT_HIST0_CTRL_CAM0_CHANNEL_SET(x) (((x) & GENMASK(3, 0)) << 8)
#define NEO_STAT_HIST0_CTRL_CAM0_CHANNEL_GET(x) (((x) >> 8) &  GENMASK(3, 0))
#define NEO_STAT_HIST0_CTRL_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_STAT_HIST0_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_HIST0_CTRL_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_HIST0_SCALE_CAM0 0x724
#define NEO_STAT_HIST0_SCALE_CAM0_SCALE_MASK GENMASK(23, 0)
#define NEO_STAT_HIST0_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_STAT_HIST0_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_STAT_HIST1_CTRL_CAM0 0x728
#define NEO_STAT_HIST1_CTRL_CAM0_LIN_INPUT1_LOG BIT(0)
#define NEO_STAT_HIST1_CTRL_CAM0_DIR_INPUT1_DIF BIT(1)
#define NEO_STAT_HIST1_CTRL_CAM0_PATTERN BIT(2)
#define NEO_STAT_HIST1_CTRL_CAM0_CHANNEL_MASK GENMASK(11, 8)
#define NEO_STAT_HIST1_CTRL_CAM0_CHANNEL_SET(x) (((x) & GENMASK(3, 0)) << 8)
#define NEO_STAT_HIST1_CTRL_CAM0_CHANNEL_GET(x) (((x) >> 8) &  GENMASK(3, 0))
#define NEO_STAT_HIST1_CTRL_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_STAT_HIST1_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_HIST1_CTRL_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_HIST1_SCALE_CAM0 0x72c
#define NEO_STAT_HIST1_SCALE_CAM0_SCALE_MASK GENMASK(23, 0)
#define NEO_STAT_HIST1_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_STAT_HIST1_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_STAT_HIST2_CTRL_CAM0 0x730
#define NEO_STAT_HIST2_CTRL_CAM0_LIN_INPUT1_LOG BIT(0)
#define NEO_STAT_HIST2_CTRL_CAM0_DIR_INPUT1_DIF BIT(1)
#define NEO_STAT_HIST2_CTRL_CAM0_PATTERN BIT(2)
#define NEO_STAT_HIST2_CTRL_CAM0_CHANNEL_MASK GENMASK(11, 8)
#define NEO_STAT_HIST2_CTRL_CAM0_CHANNEL_SET(x) (((x) & GENMASK(3, 0)) << 8)
#define NEO_STAT_HIST2_CTRL_CAM0_CHANNEL_GET(x) (((x) >> 8) &  GENMASK(3, 0))
#define NEO_STAT_HIST2_CTRL_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_STAT_HIST2_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_HIST2_CTRL_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_HIST2_SCALE_CAM0 0x734
#define NEO_STAT_HIST2_SCALE_CAM0_SCALE_MASK GENMASK(23, 0)
#define NEO_STAT_HIST2_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_STAT_HIST2_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_STAT_HIST3_CTRL_CAM0 0x738
#define NEO_STAT_HIST3_CTRL_CAM0_LIN_INPUT1_LOG BIT(0)
#define NEO_STAT_HIST3_CTRL_CAM0_DIR_INPUT1_DIF BIT(1)
#define NEO_STAT_HIST3_CTRL_CAM0_PATTERN BIT(2)
#define NEO_STAT_HIST3_CTRL_CAM0_CHANNEL_MASK GENMASK(11, 8)
#define NEO_STAT_HIST3_CTRL_CAM0_CHANNEL_SET(x) (((x) & GENMASK(3, 0)) << 8)
#define NEO_STAT_HIST3_CTRL_CAM0_CHANNEL_GET(x) (((x) >> 8) &  GENMASK(3, 0))
#define NEO_STAT_HIST3_CTRL_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_STAT_HIST3_CTRL_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_STAT_HIST3_CTRL_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_STAT_HIST3_SCALE_CAM0 0x73c
#define NEO_STAT_HIST3_SCALE_CAM0_SCALE_MASK GENMASK(23, 0)
#define NEO_STAT_HIST3_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_STAT_HIST3_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(23, 0))

/* IR_COMPRESS */
#define NEO_IR_COMPRESS_CTRL_CAM0 0x780
#define NEO_IR_COMPRESS_CTRL_CAM0_OBPP BIT(0)
#define NEO_IR_COMPRESS_CTRL_CAM0_OBPP_SET(x) ((x) & BIT(0))
#define NEO_IR_COMPRESS_CTRL_CAM0_ENABLE BIT(31)
#define NEO_IR_COMPRESS_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_IR_COMPRESS_KNEE_POINT1_CAM0 0x784
#define NEO_IR_COMPRESS_KNEE_POINT1_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_POINT1_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_POINT1_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_POINT2_CAM0 0x788
#define NEO_IR_COMPRESS_KNEE_POINT2_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_POINT2_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_POINT2_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_POINT3_CAM0 0x78c
#define NEO_IR_COMPRESS_KNEE_POINT3_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_POINT3_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_POINT3_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_POINT4_CAM0 0x790
#define NEO_IR_COMPRESS_KNEE_POINT4_CAM0_KNEEPOINT_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_POINT4_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_POINT4_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_OFFSET0_CAM0 0x794
#define NEO_IR_COMPRESS_KNEE_OFFSET0_CAM0_OFFSET_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET0_CAM0_OFFSET_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET0_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_OFFSET1_CAM0 0x798
#define NEO_IR_COMPRESS_KNEE_OFFSET1_CAM0_OFFSET_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET1_CAM0_OFFSET_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET1_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_OFFSET2_CAM0 0x79c
#define NEO_IR_COMPRESS_KNEE_OFFSET2_CAM0_OFFSET_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET2_CAM0_OFFSET_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET2_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_OFFSET3_CAM0 0x7a0
#define NEO_IR_COMPRESS_KNEE_OFFSET3_CAM0_OFFSET_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET3_CAM0_OFFSET_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET3_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_OFFSET4_CAM0 0x7a4
#define NEO_IR_COMPRESS_KNEE_OFFSET4_CAM0_OFFSET_MASK GENMASK(19, 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET4_CAM0_OFFSET_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_OFFSET4_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0 0x7a8
#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_RATIO0_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_RATIO0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_RATIO0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_RATIO1_MASK GENMASK(31, 16)
#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_RATIO1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_RATIO1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0 0x7ac
#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_RATIO2_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_RATIO2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_RATIO2_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_RATIO3_MASK GENMASK(31, 16)
#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_RATIO3_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_RATIO3_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_RATIO4_CAM0 0x7b0
#define NEO_IR_COMPRESS_KNEE_RATIO4_CAM0_RATIO4_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_RATIO4_CAM0_RATIO4_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_RATIO4_CAM0_RATIO4_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_NPOINT0_CAM0 0x7b4
#define NEO_IR_COMPRESS_KNEE_NPOINT0_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT0_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT0_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_NPOINT1_CAM0 0x7b8
#define NEO_IR_COMPRESS_KNEE_NPOINT1_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT1_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT1_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_NPOINT2_CAM0 0x7bc
#define NEO_IR_COMPRESS_KNEE_NPOINT2_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT2_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT2_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_NPOINT3_CAM0 0x7c0
#define NEO_IR_COMPRESS_KNEE_NPOINT3_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT3_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT3_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_IR_COMPRESS_KNEE_NPOINT4_CAM0 0x7c4
#define NEO_IR_COMPRESS_KNEE_NPOINT4_CAM0_KNEEPOINT_MASK GENMASK(15, 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT4_CAM0_KNEEPOINT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_IR_COMPRESS_KNEE_NPOINT4_CAM0_KNEEPOINT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

/* BNR */
#define NEO_BNR_CTRL_CAM0 0x800
#define NEO_BNR_CTRL_CAM0_OBPP_MASK GENMASK(3, 2)
#define NEO_BNR_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(1, 0)) << 2)
#define NEO_BNR_CTRL_CAM0_OBPP_GET(x) (((x) >> 2) &  GENMASK(1, 0))
#define NEO_BNR_CTRL_CAM0_DEBUG_MASK GENMASK(10, 8)
#define NEO_BNR_CTRL_CAM0_DEBUG_SET(x) (((x) & GENMASK(2, 0)) << 8)
#define NEO_BNR_CTRL_CAM0_DEBUG_GET(x) (((x) >> 8) &  GENMASK(2, 0))
#define NEO_BNR_CTRL_CAM0_NHOOD BIT(16)
#define NEO_BNR_CTRL_CAM0_NHOOD_SET(x) (((x) << 16) & BIT(16))
#define NEO_BNR_CTRL_CAM0_ENABLE BIT(31)
#define NEO_BNR_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_BNR_YPEAK_CAM0 0x804
#define NEO_BNR_YPEAK_CAM0_PEAK_LOW_MASK GENMASK(11, 0)
#define NEO_BNR_YPEAK_CAM0_PEAK_LOW_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_BNR_YPEAK_CAM0_PEAK_LOW_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_BNR_YPEAK_CAM0_PEAK_SEL_MASK GENMASK(15, 14)
#define NEO_BNR_YPEAK_CAM0_PEAK_SEL_SET(x) (((x) & GENMASK(1, 0)) << 14)
#define NEO_BNR_YPEAK_CAM0_PEAK_SEL_GET(x) (((x) >> 14) &  GENMASK(1, 0))
#define NEO_BNR_YPEAK_CAM0_PEAK_HIGH_MASK GENMASK(27, 16)
#define NEO_BNR_YPEAK_CAM0_PEAK_HIGH_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_BNR_YPEAK_CAM0_PEAK_HIGH_GET(x) (((x) >> 16) &  GENMASK(11, 0))
#define NEO_BNR_YPEAK_CAM0_PEAK_OUTSEL BIT(31)
#define NEO_BNR_YPEAK_CAM0_PEAK_OUTSEL_SET(x) (((x) << 31) & BIT(31))

#define NEO_BNR_YEDGE_TH0_CAM0 0x808
#define NEO_BNR_YEDGE_TH0_CAM0_EDGE_TH0_MASK GENMASK(19, 0)
#define NEO_BNR_YEDGE_TH0_CAM0_EDGE_TH0_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_YEDGE_TH0_CAM0_EDGE_TH0_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_YEDGE_SCALE_CAM0 0x80c
#define NEO_BNR_YEDGE_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_YEDGE_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_YEDGE_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_YEDGE_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_YEDGE_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_YEDGE_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_YEDGES_TH0_CAM0 0x810
#define NEO_BNR_YEDGES_TH0_CAM0_EDGE_TH0_MASK GENMASK(19, 0)
#define NEO_BNR_YEDGES_TH0_CAM0_EDGE_TH0_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_YEDGES_TH0_CAM0_EDGE_TH0_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_YEDGES_SCALE_CAM0 0x814
#define NEO_BNR_YEDGES_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_YEDGES_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_YEDGES_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_YEDGES_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_YEDGES_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_YEDGES_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_YEDGEA_TH0_CAM0 0x818
#define NEO_BNR_YEDGEA_TH0_CAM0_EDGE_TH0_MASK GENMASK(19, 0)
#define NEO_BNR_YEDGEA_TH0_CAM0_EDGE_TH0_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_YEDGEA_TH0_CAM0_EDGE_TH0_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_YEDGEA_SCALE_CAM0 0x81c
#define NEO_BNR_YEDGEA_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_YEDGEA_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_YEDGEA_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_YEDGEA_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_YEDGEA_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_YEDGEA_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_YLUMA_X_TH0_CAM0 0x820
#define NEO_BNR_YLUMA_X_TH0_CAM0_TH_MASK GENMASK(19, 0)
#define NEO_BNR_YLUMA_X_TH0_CAM0_TH_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_YLUMA_X_TH0_CAM0_TH_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_YLUMA_Y_TH_CAM0 0x824
#define NEO_BNR_YLUMA_Y_TH_CAM0_LUMA_Y_TH0_MASK GENMASK(9, 0)
#define NEO_BNR_YLUMA_Y_TH_CAM0_LUMA_Y_TH0_SET(x) (((x) & GENMASK(9, 0)) << 0)
#define NEO_BNR_YLUMA_Y_TH_CAM0_LUMA_Y_TH0_GET(x) (((x) >> 0) &  GENMASK(9, 0))
#define NEO_BNR_YLUMA_Y_TH_CAM0_LUMA_Y_TH1_MASK GENMASK(25, 16)
#define NEO_BNR_YLUMA_Y_TH_CAM0_LUMA_Y_TH1_SET(x) (((x) & GENMASK(9, 0)) << 16)
#define NEO_BNR_YLUMA_Y_TH_CAM0_LUMA_Y_TH1_GET(x) (((x) >> 16) &  GENMASK(9, 0))

#define NEO_BNR_YLUMA_SCALE_CAM0 0x828
#define NEO_BNR_YLUMA_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_YLUMA_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_YLUMA_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_YLUMA_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_YLUMA_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_YLUMA_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_YALPHA_GAIN_CAM0 0x82c
#define NEO_BNR_YALPHA_GAIN_CAM0_GAIN_MASK GENMASK(15, 0)
#define NEO_BNR_YALPHA_GAIN_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_YALPHA_GAIN_CAM0_GAIN_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_YALPHA_GAIN_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_BNR_YALPHA_GAIN_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_BNR_YALPHA_GAIN_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_BNR_CPEAK_CAM0 0x830
#define NEO_BNR_CPEAK_CAM0_PEAK_LOW_MASK GENMASK(11, 0)
#define NEO_BNR_CPEAK_CAM0_PEAK_LOW_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_BNR_CPEAK_CAM0_PEAK_LOW_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_BNR_CPEAK_CAM0_PEAK_SEL_MASK GENMASK(15, 14)
#define NEO_BNR_CPEAK_CAM0_PEAK_SEL_SET(x) (((x) & GENMASK(1, 0)) << 14)
#define NEO_BNR_CPEAK_CAM0_PEAK_SEL_GET(x) (((x) >> 14) &  GENMASK(1, 0))
#define NEO_BNR_CPEAK_CAM0_PEAK_HIGH_MASK GENMASK(27, 16)
#define NEO_BNR_CPEAK_CAM0_PEAK_HIGH_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_BNR_CPEAK_CAM0_PEAK_HIGH_GET(x) (((x) >> 16) &  GENMASK(11, 0))
#define NEO_BNR_CPEAK_CAM0_PEAK_OUTSEL BIT(31)
#define NEO_BNR_CPEAK_CAM0_PEAK_OUTSEL_SET(x) (((x) << 31) & BIT(31))

#define NEO_BNR_CEDGE_TH0_CAM0 0x834
#define NEO_BNR_CEDGE_TH0_CAM0_EDGE_TH0_MASK GENMASK(19, 0)
#define NEO_BNR_CEDGE_TH0_CAM0_EDGE_TH0_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_CEDGE_TH0_CAM0_EDGE_TH0_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_CEDGE_SCALE_CAM0 0x838
#define NEO_BNR_CEDGE_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_CEDGE_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_CEDGE_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_CEDGE_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_CEDGE_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_CEDGE_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_CEDGES_TH0_CAM0 0x83c
#define NEO_BNR_CEDGES_TH0_CAM0_EDGE_TH0_MASK GENMASK(19, 0)
#define NEO_BNR_CEDGES_TH0_CAM0_EDGE_TH0_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_CEDGES_TH0_CAM0_EDGE_TH0_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_CEDGES_SCALE_CAM0 0x840
#define NEO_BNR_CEDGES_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_CEDGES_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_CEDGES_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_CEDGES_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_CEDGES_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_CEDGES_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_CEDGEA_TH0_CAM0 0x844
#define NEO_BNR_CEDGEA_TH0_CAM0_EDGE_TH0_MASK GENMASK(19, 0)
#define NEO_BNR_CEDGEA_TH0_CAM0_EDGE_TH0_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_CEDGEA_TH0_CAM0_EDGE_TH0_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_CEDGEA_SCALE_CAM0 0x848
#define NEO_BNR_CEDGEA_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_CEDGEA_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_CEDGEA_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_CEDGEA_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_CEDGEA_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_CEDGEA_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_CLUMA_X_TH0_CAM0 0x84c
#define NEO_BNR_CLUMA_X_TH0_CAM0_TH_MASK GENMASK(19, 0)
#define NEO_BNR_CLUMA_X_TH0_CAM0_TH_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_BNR_CLUMA_X_TH0_CAM0_TH_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_BNR_CLUMA_Y_TH_CAM0 0x850
#define NEO_BNR_CLUMA_Y_TH_CAM0_LUMA_Y_TH0_MASK GENMASK(9, 0)
#define NEO_BNR_CLUMA_Y_TH_CAM0_LUMA_Y_TH0_SET(x) (((x) & GENMASK(9, 0)) << 0)
#define NEO_BNR_CLUMA_Y_TH_CAM0_LUMA_Y_TH0_GET(x) (((x) >> 0) &  GENMASK(9, 0))
#define NEO_BNR_CLUMA_Y_TH_CAM0_LUMA_Y_TH1_MASK GENMASK(25, 16)
#define NEO_BNR_CLUMA_Y_TH_CAM0_LUMA_Y_TH1_SET(x) (((x) & GENMASK(9, 0)) << 16)
#define NEO_BNR_CLUMA_Y_TH_CAM0_LUMA_Y_TH1_GET(x) (((x) >> 16) &  GENMASK(9, 0))

#define NEO_BNR_CLUMA_SCALE_CAM0 0x854
#define NEO_BNR_CLUMA_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_BNR_CLUMA_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_CLUMA_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_CLUMA_SCALE_CAM0_SHIFT_MASK GENMASK(20, 16)
#define NEO_BNR_CLUMA_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_BNR_CLUMA_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_BNR_CALPHA_GAIN_CAM0 0x858
#define NEO_BNR_CALPHA_GAIN_CAM0_GAIN_MASK GENMASK(15, 0)
#define NEO_BNR_CALPHA_GAIN_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_CALPHA_GAIN_CAM0_GAIN_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_BNR_CALPHA_GAIN_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_BNR_CALPHA_GAIN_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_BNR_CALPHA_GAIN_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_BNR_EDGE_STAT_CAM0 0x85c
#define NEO_BNR_EDGE_STAT_CAM0_EDGE_PIXELS_MASK GENMASK(23, 0)
#define NEO_BNR_EDGE_STAT_CAM0_EDGE_PIXELS_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_BNR_EDGE_STAT_CAM0_EDGE_PIXELS_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_BNR_EDGES_STAT_CAM0 0x860
#define NEO_BNR_EDGES_STAT_CAM0_EDGE_PIXELS_MASK GENMASK(23, 0)
#define NEO_BNR_EDGES_STAT_CAM0_EDGE_PIXELS_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_BNR_EDGES_STAT_CAM0_EDGE_PIXELS_GET(x) (((x) >> 0) &  GENMASK(23, 0))

#define NEO_BNR_STRETCH_CAM0 0x864
#define NEO_BNR_STRETCH_CAM0_GAIN_MASK GENMASK(15, 0)
#define NEO_BNR_STRETCH_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_BNR_STRETCH_CAM0_GAIN_GET(x) (((x) >> 0) &  GENMASK(15, 0))

/* VIGNETTING */
#define NEO_VIGNETTING_CTRL_CAM0 0x900
#define NEO_VIGNETTING_CTRL_CAM0_ENABLE BIT(31)
#define NEO_VIGNETTING_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_VIGNETTING_BLK_CONF_CAM0 0x904
#define NEO_VIGNETTING_BLK_CONF_CAM0_COLS_MASK GENMASK(7, 0)
#define NEO_VIGNETTING_BLK_CONF_CAM0_COLS_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_VIGNETTING_BLK_CONF_CAM0_COLS_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_VIGNETTING_BLK_CONF_CAM0_ROWS_MASK GENMASK(23, 16)
#define NEO_VIGNETTING_BLK_CONF_CAM0_ROWS_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_VIGNETTING_BLK_CONF_CAM0_ROWS_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_VIGNETTING_BLK_SIZE_CAM0 0x908
#define NEO_VIGNETTING_BLK_SIZE_CAM0_XSIZE_MASK GENMASK(15, 0)
#define NEO_VIGNETTING_BLK_SIZE_CAM0_XSIZE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_VIGNETTING_BLK_SIZE_CAM0_XSIZE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_VIGNETTING_BLK_SIZE_CAM0_YSIZE_MASK GENMASK(31, 16)
#define NEO_VIGNETTING_BLK_SIZE_CAM0_YSIZE_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_VIGNETTING_BLK_SIZE_CAM0_YSIZE_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_VIGNETTING_BLK_STEPY_CAM0 0x90c
#define NEO_VIGNETTING_BLK_STEPY_CAM0_STEP_MASK GENMASK(15, 0)
#define NEO_VIGNETTING_BLK_STEPY_CAM0_STEP_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_VIGNETTING_BLK_STEPY_CAM0_STEP_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_VIGNETTING_BLK_STEPX_CAM0 0x910
#define NEO_VIGNETTING_BLK_STEPX_CAM0_STEP_MASK GENMASK(15, 0)
#define NEO_VIGNETTING_BLK_STEPX_CAM0_STEP_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_VIGNETTING_BLK_STEPX_CAM0_STEP_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_VIGNETTING_BLK_C_LINE_CAM0 0x920
#define NEO_VIGNETTING_BLK_C_LINE_CAM0_LINE_MASK GENMASK(15, 0)
#define NEO_VIGNETTING_BLK_C_LINE_CAM0_LINE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_VIGNETTING_BLK_C_LINE_CAM0_LINE_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_VIGNETTING_BLK_C_ROW_CAM0 0x924
#define NEO_VIGNETTING_BLK_C_ROW_CAM0_BLKROW_MASK GENMASK(7, 0)
#define NEO_VIGNETTING_BLK_C_ROW_CAM0_BLKROW_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_VIGNETTING_BLK_C_ROW_CAM0_BLKROW_GET(x) (((x) >> 0) &  GENMASK(7, 0))

#define NEO_VIGNETTING_BLK_C_FRACY_CAM0 0x928

/* IDBG1 */
#define NEO_IDBG1_LINE_NUM 0xfc0
#define NEO_IDBG1_LINE_NUM_LINE_NUM_MASK GENMASK(16, 0)
#define NEO_IDBG1_LINE_NUM_LINE_NUM_SET(x) (((x) & GENMASK(16, 0)) << 0)
#define NEO_IDBG1_LINE_NUM_LINE_NUM_GET(x) (((x) >> 0) &  GENMASK(16, 0))

#define NEO_IDBG1_CURR_LINE_NUM 0xfc4
#define NEO_IDBG1_CURR_LINE_NUM_CURR_LINE_NUM_MASK GENMASK(16, 0)
#define NEO_IDBG1_CURR_LINE_NUM_CURR_LINE_NUM_SET(x) (((x) & GENMASK(16, 0)) << 0)
#define NEO_IDBG1_CURR_LINE_NUM_CURR_LINE_NUM_GET(x) (((x) >> 0) &  GENMASK(16, 0))
#define NEO_IDBG1_CURR_LINE_NUM_DBG_HIT BIT(31)

#define NEO_IDBG1_IMA 0xfc8
#define NEO_IDBG1_IMA_ADDR_MASK GENMASK(11, 0)
#define NEO_IDBG1_IMA_ADDR_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_IDBG1_IMA_ADDR_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_IDBG1_IMA_NAME_MASK GENMASK(20, 16)
#define NEO_IDBG1_IMA_NAME_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_IDBG1_IMA_NAME_GET(x) (((x) >> 16) &  GENMASK(4, 0))
#define NEO_IDBG1_IMA_RDWF_MASK GENMASK(29, 28)
#define NEO_IDBG1_IMA_RDWF_SET(x) (((x) & GENMASK(1, 0)) << 28)
#define NEO_IDBG1_IMA_RDWF_GET(x) (((x) >> 28) &  GENMASK(1, 0))
#define NEO_IDBG1_IMA_WDWF_MASK GENMASK(31, 30)
#define NEO_IDBG1_IMA_WDWF_SET(x) (((x) & GENMASK(1, 0)) << 30)
#define NEO_IDBG1_IMA_WDWF_GET(x) (((x) >> 30) &  GENMASK(1, 0))

#define NEO_IDBG1_IMD 0xfcc

#define NEO_IDBG1_DONE_STAT 0xfd0
#define NEO_IDBG1_DONE_STAT_VIG BIT(0)
#define NEO_IDBG1_DONE_STAT_IRCOMP BIT(1)
#define NEO_IDBG1_DONE_STAT_HDRMERGE BIT(2)
#define NEO_IDBG1_DONE_STAT_BNR0 BIT(3)
#define NEO_IDBG1_DONE_STAT_STAT BIT(4)
#define NEO_IDBG1_DONE_STAT_CTEMP BIT(5)
#define NEO_IDBG1_DONE_STAT_OB_WB2 BIT(6)
#define NEO_IDBG1_DONE_STAT_OBWB1 BIT(7)
#define NEO_IDBG1_DONE_STAT_OBWB0 BIT(8)
#define NEO_IDBG1_DONE_STAT_HDRDECOMP1 BIT(9)
#define NEO_IDBG1_DONE_STAT_HDRDECOMP0 BIT(10)
#define NEO_IDBG1_DONE_STAT_HC BIT(11)
#define NEO_IDBG1_DONE_STAT_RGBIR BIT(12)

/* DEMOSAIC */
#define NEO_DEMOSAIC_CTRL_CAM0 0x1180
#define NEO_DEMOSAIC_CTRL_CAM0_FMT_MASK GENMASK(5, 4)
#define NEO_DEMOSAIC_CTRL_CAM0_FMT_SET(x) (((x) & GENMASK(1, 0)) << 4)
#define NEO_DEMOSAIC_CTRL_CAM0_FMT_GET(x) (((x) >> 4) &  GENMASK(1, 0))

#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0 0x1184
#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_ALPHA_MASK GENMASK(8, 0)
#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_ALPHA_SET(x) (((x) & GENMASK(8, 0)) << 0)
#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_ALPHA_GET(x) (((x) >> 0) &  GENMASK(8, 0))
#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_ACT_RATIO_MASK GENMASK(31, 16)
#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_ACT_RATIO_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_ACT_RATIO_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0 0x1188
#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_STRENGTHG_MASK GENMASK(15, 0)
#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_STRENGTHG_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_STRENGTHG_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_STRENGTHC_MASK GENMASK(31, 16)
#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_STRENGTHC_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_STRENGTHC_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DEMOSAIC_DYNAMICS_CTL2_CAM0 0x118c
#define NEO_DEMOSAIC_DYNAMICS_CTL2_CAM0_MAX_IMPACT_MASK GENMASK(15, 0)
#define NEO_DEMOSAIC_DYNAMICS_CTL2_CAM0_MAX_IMPACT_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DEMOSAIC_DYNAMICS_CTL2_CAM0_MAX_IMPACT_GET(x) (((x) >> 0) &  GENMASK(15, 0))

/* RGB_TO_YUV */
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0 0x11c0
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_RGAIN_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_RGAIN_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_RGAIN_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_BGAIN_MASK GENMASK(31, 16)
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_BGAIN_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_BGAIN_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_MAT0_CAM0 0x11c4
#define NEO_RGB_TO_YUV_MAT0_CAM0_R0C0_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_MAT0_CAM0_R0C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_MAT0_CAM0_R0C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGB_TO_YUV_MAT0_CAM0_R0C1_MASK GENMASK(31, 16)
#define NEO_RGB_TO_YUV_MAT0_CAM0_R0C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGB_TO_YUV_MAT0_CAM0_R0C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_MAT1_CAM0 0x11c8
#define NEO_RGB_TO_YUV_MAT1_CAM0_R0C2_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_MAT1_CAM0_R0C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_MAT1_CAM0_R0C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_MAT2_CAM0 0x11cc
#define NEO_RGB_TO_YUV_MAT2_CAM0_R1C0_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_MAT2_CAM0_R1C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_MAT2_CAM0_R1C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGB_TO_YUV_MAT2_CAM0_R1C1_MASK GENMASK(31, 16)
#define NEO_RGB_TO_YUV_MAT2_CAM0_R1C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGB_TO_YUV_MAT2_CAM0_R1C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_MAT3_CAM0 0x11d0
#define NEO_RGB_TO_YUV_MAT3_CAM0_R1C2_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_MAT3_CAM0_R1C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_MAT3_CAM0_R1C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_MAT4_CAM0 0x11d4
#define NEO_RGB_TO_YUV_MAT4_CAM0_R2C0_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_MAT4_CAM0_R2C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_MAT4_CAM0_R2C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_RGB_TO_YUV_MAT4_CAM0_R2C1_MASK GENMASK(31, 16)
#define NEO_RGB_TO_YUV_MAT4_CAM0_R2C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_RGB_TO_YUV_MAT4_CAM0_R2C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_MAT5_CAM0 0x11d8
#define NEO_RGB_TO_YUV_MAT5_CAM0_R2C2_MASK GENMASK(15, 0)
#define NEO_RGB_TO_YUV_MAT5_CAM0_R2C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_RGB_TO_YUV_MAT5_CAM0_R2C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_RGB_TO_YUV_OFFSET0_CAM0 0x11e0
#define NEO_RGB_TO_YUV_OFFSET0_CAM0_OFFSET_MASK GENMASK(20, 0)
#define NEO_RGB_TO_YUV_OFFSET0_CAM0_OFFSET_SET(x) (((x) & GENMASK(20, 0)) << 0)
#define NEO_RGB_TO_YUV_OFFSET0_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(20, 0))

#define NEO_RGB_TO_YUV_OFFSET1_CAM0 0x11e4
#define NEO_RGB_TO_YUV_OFFSET1_CAM0_OFFSET_MASK GENMASK(20, 0)
#define NEO_RGB_TO_YUV_OFFSET1_CAM0_OFFSET_SET(x) (((x) & GENMASK(20, 0)) << 0)
#define NEO_RGB_TO_YUV_OFFSET1_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(20, 0))

#define NEO_RGB_TO_YUV_OFFSET2_CAM0 0x11e8
#define NEO_RGB_TO_YUV_OFFSET2_CAM0_OFFSET_MASK GENMASK(20, 0)
#define NEO_RGB_TO_YUV_OFFSET2_CAM0_OFFSET_SET(x) (((x) & GENMASK(20, 0)) << 0)
#define NEO_RGB_TO_YUV_OFFSET2_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(20, 0))

/* DRC */
#define NEO_DRC_ROI0_POS_CAM0 0x1300
#define NEO_DRC_ROI0_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_DRC_ROI0_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_ROI0_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_ROI0_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_DRC_ROI0_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DRC_ROI0_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DRC_ROI0_SIZE_CAM0 0x1304
#define NEO_DRC_ROI0_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_DRC_ROI0_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_ROI0_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_ROI0_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_DRC_ROI0_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DRC_ROI0_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DRC_ROI1_POS_CAM0 0x1308
#define NEO_DRC_ROI1_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_DRC_ROI1_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_ROI1_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_ROI1_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_DRC_ROI1_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DRC_ROI1_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DRC_ROI1_SIZE_CAM0 0x130c
#define NEO_DRC_ROI1_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_DRC_ROI1_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_ROI1_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_ROI1_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_DRC_ROI1_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DRC_ROI1_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DRC_GROI_SUM_SHIFT_CAM0 0x1310
#define NEO_DRC_GROI_SUM_SHIFT_CAM0_SHIFT0_MASK GENMASK(4, 0)
#define NEO_DRC_GROI_SUM_SHIFT_CAM0_SHIFT0_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_DRC_GROI_SUM_SHIFT_CAM0_SHIFT0_GET(x) (((x) >> 0) &  GENMASK(4, 0))
#define NEO_DRC_GROI_SUM_SHIFT_CAM0_SHIFT1_MASK GENMASK(20, 16)
#define NEO_DRC_GROI_SUM_SHIFT_CAM0_SHIFT1_SET(x) (((x) & GENMASK(4, 0)) << 16)
#define NEO_DRC_GROI_SUM_SHIFT_CAM0_SHIFT1_GET(x) (((x) >> 16) &  GENMASK(4, 0))

#define NEO_DRC_GBL_GAIN_CAM0 0x1314
#define NEO_DRC_GBL_GAIN_CAM0_GAIN_MASK GENMASK(15, 0)
#define NEO_DRC_GBL_GAIN_CAM0_GAIN_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_GBL_GAIN_CAM0_GAIN_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_DRC_LCL_BLK_SIZE_CAM0 0x1320
#define NEO_DRC_LCL_BLK_SIZE_CAM0_XSIZE_MASK GENMASK(15, 0)
#define NEO_DRC_LCL_BLK_SIZE_CAM0_XSIZE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_LCL_BLK_SIZE_CAM0_XSIZE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_LCL_BLK_SIZE_CAM0_YSIZE_MASK GENMASK(31, 16)
#define NEO_DRC_LCL_BLK_SIZE_CAM0_YSIZE_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DRC_LCL_BLK_SIZE_CAM0_YSIZE_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DRC_LCL_STRETCH_CAM0 0x1324
#define NEO_DRC_LCL_STRETCH_CAM0_STRETCH_MASK GENMASK(15, 0)
#define NEO_DRC_LCL_STRETCH_CAM0_STRETCH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_LCL_STRETCH_CAM0_STRETCH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_LCL_STRETCH_CAM0_OFFSET_MASK GENMASK(31, 16)
#define NEO_DRC_LCL_STRETCH_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_DRC_LCL_STRETCH_CAM0_OFFSET_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_DRC_LCL_BLK_STEPY_CAM0 0x1328
#define NEO_DRC_LCL_BLK_STEPY_CAM0_STEP_MASK GENMASK(15, 0)
#define NEO_DRC_LCL_BLK_STEPY_CAM0_STEP_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_LCL_BLK_STEPY_CAM0_STEP_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_DRC_LCL_BLK_STEPX_CAM0 0x132c
#define NEO_DRC_LCL_BLK_STEPX_CAM0_STEP_MASK GENMASK(15, 0)
#define NEO_DRC_LCL_BLK_STEPX_CAM0_STEP_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_LCL_BLK_STEPX_CAM0_STEP_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_DRC_LCL_SUM_SHIFT_CAM0 0x1330
#define NEO_DRC_LCL_SUM_SHIFT_CAM0_SHIFT_MASK GENMASK(4, 0)
#define NEO_DRC_LCL_SUM_SHIFT_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_DRC_LCL_SUM_SHIFT_CAM0_SHIFT_GET(x) (((x) >> 0) &  GENMASK(4, 0))

#define NEO_DRC_ALPHA_CAM0 0x1334
#define NEO_DRC_ALPHA_CAM0_ALPHA_MASK GENMASK(8, 0)
#define NEO_DRC_ALPHA_CAM0_ALPHA_SET(x) (((x) & GENMASK(8, 0)) << 0)
#define NEO_DRC_ALPHA_CAM0_ALPHA_GET(x) (((x) >> 0) &  GENMASK(8, 0))

#define NEO_DRC_GROI0_SUM_CAM0 0x1340

#define NEO_DRC_GROI1_SUM_CAM0 0x1344

#define NEO_DRC_STAT_BLK_Y_CAM0 0x1350
#define NEO_DRC_STAT_BLK_Y_CAM0_BLKLNE_MASK GENMASK(15, 0)
#define NEO_DRC_STAT_BLK_Y_CAM0_BLKLNE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_DRC_STAT_BLK_Y_CAM0_BLKLNE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_DRC_STAT_BLK_Y_CAM0_BLKROW_MASK GENMASK(23, 16)
#define NEO_DRC_STAT_BLK_Y_CAM0_BLKROW_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_DRC_STAT_BLK_Y_CAM0_BLKROW_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_DRC_CURR_YFRACT_CAM0 0x1354

/* NR */
#define NEO_NR_CTRL_CAM0 0x1400
#define NEO_NR_CTRL_CAM0_DEBUG_MASK GENMASK(9, 8)
#define NEO_NR_CTRL_CAM0_DEBUG_SET(x) (((x) & GENMASK(1, 0)) << 8)
#define NEO_NR_CTRL_CAM0_DEBUG_GET(x) (((x) >> 8) &  GENMASK(1, 0))
#define NEO_NR_CTRL_CAM0_ENABLE BIT(31)
#define NEO_NR_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_NR_BLEND_SCALE_CAM0 0x1404
#define NEO_NR_BLEND_SCALE_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_NR_BLEND_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_NR_BLEND_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_NR_BLEND_SCALE_CAM0_SHIFT_MASK GENMASK(23, 16)
#define NEO_NR_BLEND_SCALE_CAM0_SHIFT_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_NR_BLEND_SCALE_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_NR_BLEND_SCALE_CAM0_GAIN_MASK GENMASK(31, 24)
#define NEO_NR_BLEND_SCALE_CAM0_GAIN_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_NR_BLEND_SCALE_CAM0_GAIN_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_NR_BLEND_TH0_CAM0 0x1408
#define NEO_NR_BLEND_TH0_CAM0_TH_MASK GENMASK(19, 0)
#define NEO_NR_BLEND_TH0_CAM0_TH_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_NR_BLEND_TH0_CAM0_TH_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_NR_EDGECNT_CAM0 0x1410
#define NEO_NR_EDGECNT_CAM0_EDGE_PIXELS_MASK GENMASK(23, 0)
#define NEO_NR_EDGECNT_CAM0_EDGE_PIXELS_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_NR_EDGECNT_CAM0_EDGE_PIXELS_GET(x) (((x) >> 0) &  GENMASK(23, 0))

/* DF */
#define NEO_DF_CTRL_CAM0 0x1440
#define NEO_DF_CTRL_CAM0_DEBUG_MASK GENMASK(10, 8)
#define NEO_DF_CTRL_CAM0_DEBUG_SET(x) (((x) & GENMASK(2, 0)) << 8)
#define NEO_DF_CTRL_CAM0_DEBUG_GET(x) (((x) >> 8) &  GENMASK(2, 0))
#define NEO_DF_CTRL_CAM0_ENABLE BIT(31)
#define NEO_DF_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_DF_TH_SCALE_CAM0 0x1444
#define NEO_DF_TH_SCALE_CAM0_SCALE_MASK GENMASK(19, 0)
#define NEO_DF_TH_SCALE_CAM0_SCALE_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_DF_TH_SCALE_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_DF_BLEND_SHIFT_CAM0 0x1448
#define NEO_DF_BLEND_SHIFT_CAM0_SHIFT_MASK GENMASK(5, 0)
#define NEO_DF_BLEND_SHIFT_CAM0_SHIFT_SET(x) (((x) & GENMASK(5, 0)) << 0)
#define NEO_DF_BLEND_SHIFT_CAM0_SHIFT_GET(x) (((x) >> 0) &  GENMASK(5, 0))

#define NEO_DF_BLEND_TH0_CAM0 0x144c
#define NEO_DF_BLEND_TH0_CAM0_TH_MASK GENMASK(19, 0)
#define NEO_DF_BLEND_TH0_CAM0_TH_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_DF_BLEND_TH0_CAM0_TH_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_DF_EDGECNT_CAM0 0x1450
#define NEO_DF_EDGECNT_CAM0_EDGE_PIXELS_MASK GENMASK(23, 0)
#define NEO_DF_EDGECNT_CAM0_EDGE_PIXELS_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_DF_EDGECNT_CAM0_EDGE_PIXELS_GET(x) (((x) >> 0) &  GENMASK(23, 0))

/* EE */
#define NEO_EE_CTRL_CAM0 0x1480
#define NEO_EE_CTRL_CAM0_DEBUG_MASK GENMASK(9, 8)
#define NEO_EE_CTRL_CAM0_DEBUG_SET(x) (((x) & GENMASK(1, 0)) << 8)
#define NEO_EE_CTRL_CAM0_DEBUG_GET(x) (((x) >> 8) &  GENMASK(1, 0))
#define NEO_EE_CTRL_CAM0_ENABLE BIT(31)
#define NEO_EE_CTRL_CAM0_ENABLE_SET(x) (((x) << 31) & BIT(31))

#define NEO_EE_CORING_CAM0 0x1484
#define NEO_EE_CORING_CAM0_CORING_MASK GENMASK(19, 0)
#define NEO_EE_CORING_CAM0_CORING_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_EE_CORING_CAM0_CORING_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_EE_CLIP_CAM0 0x1488
#define NEO_EE_CLIP_CAM0_CLIP_MASK GENMASK(19, 0)
#define NEO_EE_CLIP_CAM0_CLIP_SET(x) (((x) & GENMASK(19, 0)) << 0)
#define NEO_EE_CLIP_CAM0_CLIP_GET(x) (((x) >> 0) &  GENMASK(19, 0))

#define NEO_EE_MASKGAIN_CAM0 0x148c
#define NEO_EE_MASKGAIN_CAM0_GAIN_MASK GENMASK(7, 0)
#define NEO_EE_MASKGAIN_CAM0_GAIN_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_EE_MASKGAIN_CAM0_GAIN_GET(x) (((x) >> 0) &  GENMASK(7, 0))

#define NEO_EE_EDGECNT_CAM0 0x1490
#define NEO_EE_EDGECNT_CAM0_EDGE_PIXELS_MASK GENMASK(23, 0)
#define NEO_EE_EDGECNT_CAM0_EDGE_PIXELS_SET(x) (((x) & GENMASK(23, 0)) << 0)
#define NEO_EE_EDGECNT_CAM0_EDGE_PIXELS_GET(x) (((x) >> 0) &  GENMASK(23, 0))

/* CCONVMED */
#define NEO_CCONVMED_CTRL_CAM0 0x14c0
#define NEO_CCONVMED_CTRL_CAM0_FLT_MASK GENMASK(5, 4)
#define NEO_CCONVMED_CTRL_CAM0_FLT_SET(x) (((x) & GENMASK(1, 0)) << 4)
#define NEO_CCONVMED_CTRL_CAM0_FLT_GET(x) (((x) >> 4) &  GENMASK(1, 0))

/* CAS */
#define NEO_CAS_GAIN_CAM0 0x1504
#define NEO_CAS_GAIN_CAM0_SCALE_MASK GENMASK(15, 0)
#define NEO_CAS_GAIN_CAM0_SCALE_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_CAS_GAIN_CAM0_SCALE_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_CAS_GAIN_CAM0_SHIFT_MASK GENMASK(23, 16)
#define NEO_CAS_GAIN_CAM0_SHIFT_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_CAS_GAIN_CAM0_SHIFT_GET(x) (((x) >> 16) &  GENMASK(7, 0))

#define NEO_CAS_CORR_CAM0 0x1508
#define NEO_CAS_CORR_CAM0_CORR_MASK GENMASK(15, 0)
#define NEO_CAS_CORR_CAM0_CORR_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_CAS_CORR_CAM0_CORR_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_CAS_OFFSET_CAM0 0x150c
#define NEO_CAS_OFFSET_CAM0_OFFSET_MASK GENMASK(15, 0)
#define NEO_CAS_OFFSET_CAM0_OFFSET_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_CAS_OFFSET_CAM0_OFFSET_GET(x) (((x) >> 0) &  GENMASK(15, 0))

/* PACKETIZER */
#define NEO_PACKETIZER_CH0_CTRL_CAM0 0x1580
#define NEO_PACKETIZER_CH0_CTRL_CAM0_OBPP_MASK GENMASK(3, 0)
#define NEO_PACKETIZER_CH0_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(3, 0)) << 0)
#define NEO_PACKETIZER_CH0_CTRL_CAM0_OBPP_GET(x) (((x) >> 0) &  GENMASK(3, 0))
#define NEO_PACKETIZER_CH0_CTRL_CAM0_RSA_MASK GENMASK(10, 8)
#define NEO_PACKETIZER_CH0_CTRL_CAM0_RSA_SET(x) (((x) & GENMASK(2, 0)) << 8)
#define NEO_PACKETIZER_CH0_CTRL_CAM0_RSA_GET(x) (((x) >> 8) &  GENMASK(2, 0))
#define NEO_PACKETIZER_CH0_CTRL_CAM0_LSA_MASK GENMASK(14, 12)
#define NEO_PACKETIZER_CH0_CTRL_CAM0_LSA_SET(x) (((x) & GENMASK(2, 0)) << 12)
#define NEO_PACKETIZER_CH0_CTRL_CAM0_LSA_GET(x) (((x) >> 12) &  GENMASK(2, 0))

#define NEO_PACKETIZER_CH12_CTRL_CAM0 0x1584
#define NEO_PACKETIZER_CH12_CTRL_CAM0_OBPP_MASK GENMASK(3, 0)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_OBPP_SET(x) (((x) & GENMASK(3, 0)) << 0)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_OBPP_GET(x) (((x) >> 0) &  GENMASK(3, 0))
#define NEO_PACKETIZER_CH12_CTRL_CAM0_RSA_MASK GENMASK(10, 8)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_RSA_SET(x) (((x) & GENMASK(2, 0)) << 8)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_RSA_GET(x) (((x) >> 8) &  GENMASK(2, 0))
#define NEO_PACKETIZER_CH12_CTRL_CAM0_LSA_MASK GENMASK(14, 12)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_LSA_SET(x) (((x) & GENMASK(2, 0)) << 12)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_LSA_GET(x) (((x) >> 12) &  GENMASK(2, 0))
#define NEO_PACKETIZER_CH12_CTRL_CAM0_SUBSAMPLE_MASK GENMASK(17, 16)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_SUBSAMPLE_SET(x) (((x) & GENMASK(1, 0)) << 16)
#define NEO_PACKETIZER_CH12_CTRL_CAM0_SUBSAMPLE_GET(x) (((x) >> 16) &  GENMASK(1, 0))

#define NEO_PACKETIZER_PACK_CTRL_CAM0 0x1588
#define NEO_PACKETIZER_PACK_CTRL_CAM0_TYPE BIT(0)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_TYPE_SET(x) ((x) & BIT(0))
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER0_MASK GENMASK(9, 8)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER0_SET(x) (((x) & GENMASK(1, 0)) << 8)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER0_GET(x) (((x) >> 8) &  GENMASK(1, 0))
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER1_MASK GENMASK(11, 10)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER1_SET(x) (((x) & GENMASK(1, 0)) << 10)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER1_GET(x) (((x) >> 10) &  GENMASK(1, 0))
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER2_MASK GENMASK(13, 12)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER2_SET(x) (((x) & GENMASK(1, 0)) << 12)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_ORDER2_GET(x) (((x) >> 12) &  GENMASK(1, 0))
#define NEO_PACKETIZER_PACK_CTRL_CAM0_A0S_MASK GENMASK(19, 16)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_A0S_SET(x) (((x) & GENMASK(3, 0)) << 16)
#define NEO_PACKETIZER_PACK_CTRL_CAM0_A0S_GET(x) (((x) >> 16) &  GENMASK(3, 0))

/* GCM */
#define NEO_GCM_IMAT0_CAM0 0x1600
#define NEO_GCM_IMAT0_CAM0_R0C0_MASK GENMASK(15, 0)
#define NEO_GCM_IMAT0_CAM0_R0C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IMAT0_CAM0_R0C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_IMAT0_CAM0_R0C1_MASK GENMASK(31, 16)
#define NEO_GCM_IMAT0_CAM0_R0C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_IMAT0_CAM0_R0C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_IMAT1_CAM0 0x1604
#define NEO_GCM_IMAT1_CAM0_R0C2_MASK GENMASK(15, 0)
#define NEO_GCM_IMAT1_CAM0_R0C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IMAT1_CAM0_R0C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_IMAT2_CAM0 0x160c
#define NEO_GCM_IMAT2_CAM0_R1C0_MASK GENMASK(15, 0)
#define NEO_GCM_IMAT2_CAM0_R1C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IMAT2_CAM0_R1C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_IMAT2_CAM0_R1C1_MASK GENMASK(31, 16)
#define NEO_GCM_IMAT2_CAM0_R1C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_IMAT2_CAM0_R1C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_IMAT3_CAM0 0x1610
#define NEO_GCM_IMAT3_CAM0_R1C2_MASK GENMASK(15, 0)
#define NEO_GCM_IMAT3_CAM0_R1C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IMAT3_CAM0_R1C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_IMAT4_CAM0 0x1618
#define NEO_GCM_IMAT4_CAM0_R2C0_MASK GENMASK(15, 0)
#define NEO_GCM_IMAT4_CAM0_R2C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IMAT4_CAM0_R2C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_IMAT4_CAM0_R2C1_MASK GENMASK(31, 16)
#define NEO_GCM_IMAT4_CAM0_R2C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_IMAT4_CAM0_R2C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_IMAT5_CAM0 0x161c
#define NEO_GCM_IMAT5_CAM0_R2C2_MASK GENMASK(15, 0)
#define NEO_GCM_IMAT5_CAM0_R2C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IMAT5_CAM0_R2C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_IOFFSET0_CAM0 0x1620
#define NEO_GCM_IOFFSET0_CAM0_OFFSET0_MASK GENMASK(15, 0)
#define NEO_GCM_IOFFSET0_CAM0_OFFSET0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IOFFSET0_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_IOFFSET1_CAM0 0x1624
#define NEO_GCM_IOFFSET1_CAM0_OFFSET1_MASK GENMASK(15, 0)
#define NEO_GCM_IOFFSET1_CAM0_OFFSET1_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IOFFSET1_CAM0_OFFSET1_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_IOFFSET2_CAM0 0x1628
#define NEO_GCM_IOFFSET2_CAM0_OFFSET2_MASK GENMASK(15, 0)
#define NEO_GCM_IOFFSET2_CAM0_OFFSET2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_IOFFSET2_CAM0_OFFSET2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_OMAT0_CAM0 0x1630
#define NEO_GCM_OMAT0_CAM0_R0C0_MASK GENMASK(15, 0)
#define NEO_GCM_OMAT0_CAM0_R0C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_OMAT0_CAM0_R0C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_OMAT0_CAM0_R0C1_MASK GENMASK(31, 16)
#define NEO_GCM_OMAT0_CAM0_R0C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_OMAT0_CAM0_R0C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_OMAT1_CAM0 0x1634
#define NEO_GCM_OMAT1_CAM0_R0C2_MASK GENMASK(15, 0)
#define NEO_GCM_OMAT1_CAM0_R0C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_OMAT1_CAM0_R0C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_OMAT2_CAM0 0x1638
#define NEO_GCM_OMAT2_CAM0_R1C0_MASK GENMASK(15, 0)
#define NEO_GCM_OMAT2_CAM0_R1C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_OMAT2_CAM0_R1C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_OMAT2_CAM0_R1C1_MASK GENMASK(31, 16)
#define NEO_GCM_OMAT2_CAM0_R1C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_OMAT2_CAM0_R1C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_OMAT3_CAM0 0x163c
#define NEO_GCM_OMAT3_CAM0_R1C2_MASK GENMASK(15, 0)
#define NEO_GCM_OMAT3_CAM0_R1C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_OMAT3_CAM0_R1C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_OMAT4_CAM0 0x1640
#define NEO_GCM_OMAT4_CAM0_R2C0_MASK GENMASK(15, 0)
#define NEO_GCM_OMAT4_CAM0_R2C0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_OMAT4_CAM0_R2C0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_OMAT4_CAM0_R2C1_MASK GENMASK(31, 16)
#define NEO_GCM_OMAT4_CAM0_R2C1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_OMAT4_CAM0_R2C1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_OMAT5_CAM0 0x1644
#define NEO_GCM_OMAT5_CAM0_R2C2_MASK GENMASK(15, 0)
#define NEO_GCM_OMAT5_CAM0_R2C2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_OMAT5_CAM0_R2C2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_OOFFSET0_CAM0 0x1648
#define NEO_GCM_OOFFSET0_CAM0_OFFSET0_MASK GENMASK(12, 0)
#define NEO_GCM_OOFFSET0_CAM0_OFFSET0_SET(x) (((x) & GENMASK(12, 0)) << 0)
#define NEO_GCM_OOFFSET0_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(12, 0))

#define NEO_GCM_OOFFSET1_CAM0 0x164c
#define NEO_GCM_OOFFSET1_CAM0_OFFSET1_MASK GENMASK(12, 0)
#define NEO_GCM_OOFFSET1_CAM0_OFFSET1_SET(x) (((x) & GENMASK(12, 0)) << 0)
#define NEO_GCM_OOFFSET1_CAM0_OFFSET1_GET(x) (((x) >> 0) &  GENMASK(12, 0))

#define NEO_GCM_OOFFSET2_CAM0 0x1650
#define NEO_GCM_OOFFSET2_CAM0_OFFSET2_MASK GENMASK(12, 0)
#define NEO_GCM_OOFFSET2_CAM0_OFFSET2_SET(x) (((x) & GENMASK(12, 0)) << 0)
#define NEO_GCM_OOFFSET2_CAM0_OFFSET2_GET(x) (((x) >> 0) &  GENMASK(12, 0))

#define NEO_GCM_GAMMA0_CAM0 0x1660
#define NEO_GCM_GAMMA0_CAM0_GAMMA0_MASK GENMASK(8, 0)
#define NEO_GCM_GAMMA0_CAM0_GAMMA0_SET(x) (((x) & GENMASK(8, 0)) << 0)
#define NEO_GCM_GAMMA0_CAM0_GAMMA0_GET(x) (((x) >> 0) &  GENMASK(8, 0))
#define NEO_GCM_GAMMA0_CAM0_OFFSET0_MASK GENMASK(27, 16)
#define NEO_GCM_GAMMA0_CAM0_OFFSET0_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_GCM_GAMMA0_CAM0_OFFSET0_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_GCM_GAMMA1_CAM0 0x1664
#define NEO_GCM_GAMMA1_CAM0_GAMMA1_MASK GENMASK(8, 0)
#define NEO_GCM_GAMMA1_CAM0_GAMMA1_SET(x) (((x) & GENMASK(8, 0)) << 0)
#define NEO_GCM_GAMMA1_CAM0_GAMMA1_GET(x) (((x) >> 0) &  GENMASK(8, 0))
#define NEO_GCM_GAMMA1_CAM0_OFFSET1_MASK GENMASK(27, 16)
#define NEO_GCM_GAMMA1_CAM0_OFFSET1_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_GCM_GAMMA1_CAM0_OFFSET1_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_GCM_GAMMA2_CAM0 0x1668
#define NEO_GCM_GAMMA2_CAM0_GAMMA2_MASK GENMASK(8, 0)
#define NEO_GCM_GAMMA2_CAM0_GAMMA2_SET(x) (((x) & GENMASK(8, 0)) << 0)
#define NEO_GCM_GAMMA2_CAM0_GAMMA2_GET(x) (((x) >> 0) &  GENMASK(8, 0))
#define NEO_GCM_GAMMA2_CAM0_OFFSET2_MASK GENMASK(27, 16)
#define NEO_GCM_GAMMA2_CAM0_OFFSET2_SET(x) (((x) & GENMASK(11, 0)) << 16)
#define NEO_GCM_GAMMA2_CAM0_OFFSET2_GET(x) (((x) >> 16) &  GENMASK(11, 0))

#define NEO_GCM_BLKLVL0_CTRL_CAM0 0x166c
#define NEO_GCM_BLKLVL0_CTRL_CAM0_OFFSET0_MASK GENMASK(15, 0)
#define NEO_GCM_BLKLVL0_CTRL_CAM0_OFFSET0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_BLKLVL0_CTRL_CAM0_OFFSET0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_BLKLVL0_CTRL_CAM0_GAIN0_MASK GENMASK(31, 16)
#define NEO_GCM_BLKLVL0_CTRL_CAM0_GAIN0_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_BLKLVL0_CTRL_CAM0_GAIN0_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_BLKLVL1_CTRL_CAM0 0x1670
#define NEO_GCM_BLKLVL1_CTRL_CAM0_OFFSET1_MASK GENMASK(15, 0)
#define NEO_GCM_BLKLVL1_CTRL_CAM0_OFFSET1_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_BLKLVL1_CTRL_CAM0_OFFSET1_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_BLKLVL1_CTRL_CAM0_GAIN1_MASK GENMASK(31, 16)
#define NEO_GCM_BLKLVL1_CTRL_CAM0_GAIN1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_BLKLVL1_CTRL_CAM0_GAIN1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_BLKLVL2_CTRL_CAM0 0x1674
#define NEO_GCM_BLKLVL2_CTRL_CAM0_OFFSET2_MASK GENMASK(15, 0)
#define NEO_GCM_BLKLVL2_CTRL_CAM0_OFFSET2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_BLKLVL2_CTRL_CAM0_OFFSET2_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_BLKLVL2_CTRL_CAM0_GAIN2_MASK GENMASK(31, 16)
#define NEO_GCM_BLKLVL2_CTRL_CAM0_GAIN2_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_BLKLVL2_CTRL_CAM0_GAIN2_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_LOWTH_CTRL01_CAM0 0x1678
#define NEO_GCM_LOWTH_CTRL01_CAM0_THRESHOLD0_MASK GENMASK(15, 0)
#define NEO_GCM_LOWTH_CTRL01_CAM0_THRESHOLD0_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_LOWTH_CTRL01_CAM0_THRESHOLD0_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_GCM_LOWTH_CTRL01_CAM0_THRESHOLD1_MASK GENMASK(31, 16)
#define NEO_GCM_LOWTH_CTRL01_CAM0_THRESHOLD1_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_GCM_LOWTH_CTRL01_CAM0_THRESHOLD1_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_GCM_LOWTH_CTRL2_CAM0 0x167c
#define NEO_GCM_LOWTH_CTRL2_CAM0_THRESHOLD2_MASK GENMASK(15, 0)
#define NEO_GCM_LOWTH_CTRL2_CAM0_THRESHOLD2_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_GCM_LOWTH_CTRL2_CAM0_THRESHOLD2_GET(x) (((x) >> 0) &  GENMASK(15, 0))

#define NEO_GCM_MAT_CONFG_CAM0 0x1680
#define NEO_GCM_MAT_CONFG_CAM0_SIGN_CONFG BIT(0)
#define NEO_GCM_MAT_CONFG_CAM0_SIGN_CONFG_SET(x) ((x) & BIT(0))

/* AUTOFOCUS */
#define NEO_AUTOFOCUS_ROI0_POS_CAM0 0x1700
#define NEO_AUTOFOCUS_ROI0_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI0_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI0_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI0_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI0_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI0_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0 0x1704
#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI0_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI1_POS_CAM0 0x1708
#define NEO_AUTOFOCUS_ROI1_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI1_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI1_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI1_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI1_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI1_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0 0x170c
#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI1_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI2_POS_CAM0 0x1710
#define NEO_AUTOFOCUS_ROI2_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI2_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI2_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI2_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI2_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI2_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0 0x1714
#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI2_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI3_POS_CAM0 0x1718
#define NEO_AUTOFOCUS_ROI3_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI3_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI3_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI3_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI3_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI3_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0 0x171c
#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI3_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI4_POS_CAM0 0x1720
#define NEO_AUTOFOCUS_ROI4_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI4_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI4_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI4_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI4_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI4_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0 0x1724
#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI4_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI5_POS_CAM0 0x1728
#define NEO_AUTOFOCUS_ROI5_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI5_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI5_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI5_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI5_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI5_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0 0x172c
#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI5_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI6_POS_CAM0 0x1730
#define NEO_AUTOFOCUS_ROI6_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI6_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI6_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI6_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI6_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI6_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0 0x1734
#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI6_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI7_POS_CAM0 0x1738
#define NEO_AUTOFOCUS_ROI7_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI7_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI7_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI7_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI7_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI7_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0 0x173c
#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI7_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI8_POS_CAM0 0x1740
#define NEO_AUTOFOCUS_ROI8_POS_CAM0_XPOS_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI8_POS_CAM0_XPOS_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI8_POS_CAM0_XPOS_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI8_POS_CAM0_YPOS_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI8_POS_CAM0_YPOS_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI8_POS_CAM0_YPOS_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0 0x1744
#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0_WIDTH_MASK GENMASK(15, 0)
#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0_WIDTH_SET(x) (((x) & GENMASK(15, 0)) << 0)
#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0_WIDTH_GET(x) (((x) >> 0) &  GENMASK(15, 0))
#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0_HEIGHT_MASK GENMASK(31, 16)
#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0_HEIGHT_SET(x) (((x) & GENMASK(15, 0)) << 16)
#define NEO_AUTOFOCUS_ROI8_SIZE_CAM0_HEIGHT_GET(x) (((x) >> 16) &  GENMASK(15, 0))

#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0 0x1750
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF0_MASK GENMASK(7, 0)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF0_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF0_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF1_MASK GENMASK(15, 8)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF1_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF1_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF2_MASK GENMASK(23, 16)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF2_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF2_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF3_MASK GENMASK(31, 24)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF3_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_COEFF3_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0 0x1754
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF4_MASK GENMASK(7, 0)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF4_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF4_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF5_MASK GENMASK(15, 8)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF5_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF5_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF6_MASK GENMASK(23, 16)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF6_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF6_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF7_MASK GENMASK(31, 24)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF7_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_COEFF7_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_AUTOFOCUS_FIL0_COEFFS2_CAM0 0x1758
#define NEO_AUTOFOCUS_FIL0_COEFFS2_CAM0_COEFF8_MASK GENMASK(7, 0)
#define NEO_AUTOFOCUS_FIL0_COEFFS2_CAM0_COEFF8_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_AUTOFOCUS_FIL0_COEFFS2_CAM0_COEFF8_GET(x) (((x) >> 0) &  GENMASK(7, 0))

#define NEO_AUTOFOCUS_FIL0_SHIFT_CAM0 0x175c
#define NEO_AUTOFOCUS_FIL0_SHIFT_CAM0_SHIFT_MASK GENMASK(4, 0)
#define NEO_AUTOFOCUS_FIL0_SHIFT_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_AUTOFOCUS_FIL0_SHIFT_CAM0_SHIFT_GET(x) (((x) >> 0) &  GENMASK(4, 0))

#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0 0x1760
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF0_MASK GENMASK(7, 0)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF0_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF0_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF1_MASK GENMASK(15, 8)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF1_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF1_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF2_MASK GENMASK(23, 16)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF2_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF2_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF3_MASK GENMASK(31, 24)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF3_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_COEFF3_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0 0x1764
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF4_MASK GENMASK(7, 0)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF4_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF4_GET(x) (((x) >> 0) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF5_MASK GENMASK(15, 8)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF5_SET(x) (((x) & GENMASK(7, 0)) << 8)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF5_GET(x) (((x) >> 8) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF6_MASK GENMASK(23, 16)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF6_SET(x) (((x) & GENMASK(7, 0)) << 16)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF6_GET(x) (((x) >> 16) &  GENMASK(7, 0))
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF7_MASK GENMASK(31, 24)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF7_SET(x) (((x) & GENMASK(7, 0)) << 24)
#define NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_COEFF7_GET(x) (((x) >> 24) &  GENMASK(7, 0))

#define NEO_AUTOFOCUS_FIL1_COEFFS2_CAM0 0x1768
#define NEO_AUTOFOCUS_FIL1_COEFFS2_CAM0_COEFF8_MASK GENMASK(7, 0)
#define NEO_AUTOFOCUS_FIL1_COEFFS2_CAM0_COEFF8_SET(x) (((x) & GENMASK(7, 0)) << 0)
#define NEO_AUTOFOCUS_FIL1_COEFFS2_CAM0_COEFF8_GET(x) (((x) >> 0) &  GENMASK(7, 0))

#define NEO_AUTOFOCUS_FIL1_SHIFT_CAM0 0x176c
#define NEO_AUTOFOCUS_FIL1_SHIFT_CAM0_SHIFT_MASK GENMASK(4, 0)
#define NEO_AUTOFOCUS_FIL1_SHIFT_CAM0_SHIFT_SET(x) (((x) & GENMASK(4, 0)) << 0)
#define NEO_AUTOFOCUS_FIL1_SHIFT_CAM0_SHIFT_GET(x) (((x) >> 0) &  GENMASK(4, 0))

#define NEO_AUTOFOCUS_ROI0_SUM0_CAM0 0x1770

#define NEO_AUTOFOCUS_ROI0_SUM1_CAM0 0x1774

#define NEO_AUTOFOCUS_ROI1_SUM0_CAM0 0x1778

#define NEO_AUTOFOCUS_ROI1_SUM1_CAM0 0x177c

#define NEO_AUTOFOCUS_ROI2_SUM0_CAM0 0x1780

#define NEO_AUTOFOCUS_ROI2_SUM1_CAM0 0x1784

#define NEO_AUTOFOCUS_ROI3_SUM0_CAM0 0x1788

#define NEO_AUTOFOCUS_ROI3_SUM1_CAM0 0x178c

#define NEO_AUTOFOCUS_ROI4_SUM0_CAM0 0x1790

#define NEO_AUTOFOCUS_ROI4_SUM1_CAM0 0x1794

#define NEO_AUTOFOCUS_ROI5_SUM0_CAM0 0x1798

#define NEO_AUTOFOCUS_ROI5_SUM1_CAM0 0x179c

#define NEO_AUTOFOCUS_ROI6_SUM0_CAM0 0x17a0

#define NEO_AUTOFOCUS_ROI6_SUM1_CAM0 0x17a4

#define NEO_AUTOFOCUS_ROI7_SUM0_CAM0 0x17a8

#define NEO_AUTOFOCUS_ROI7_SUM1_CAM0 0x17ac

#define NEO_AUTOFOCUS_ROI8_SUM0_CAM0 0x17b0

#define NEO_AUTOFOCUS_ROI8_SUM1_CAM0 0x17b4

/* IDBG2 */
#define NEO_IDBG2_LINE_NUM 0x1fc0
#define NEO_IDBG2_LINE_NUM_LINE_NUM_MASK GENMASK(16, 0)
#define NEO_IDBG2_LINE_NUM_LINE_NUM_SET(x) (((x) & GENMASK(16, 0)) << 0)
#define NEO_IDBG2_LINE_NUM_LINE_NUM_GET(x) (((x) >> 0) &  GENMASK(16, 0))

#define NEO_IDBG2_CURR_LINE_NUM 0x1fc4
#define NEO_IDBG2_CURR_LINE_NUM_CURR_LINE_NUM_MASK GENMASK(16, 0)
#define NEO_IDBG2_CURR_LINE_NUM_CURR_LINE_NUM_SET(x) (((x) & GENMASK(16, 0)) << 0)
#define NEO_IDBG2_CURR_LINE_NUM_CURR_LINE_NUM_GET(x) (((x) >> 0) &  GENMASK(16, 0))
#define NEO_IDBG2_CURR_LINE_NUM_DBG_HIT BIT(31)

#define NEO_IDBG2_IMA 0x1fc8
#define NEO_IDBG2_IMA_ADDR_MASK GENMASK(11, 0)
#define NEO_IDBG2_IMA_ADDR_SET(x) (((x) & GENMASK(11, 0)) << 0)
#define NEO_IDBG2_IMA_ADDR_GET(x) (((x) >> 0) &  GENMASK(11, 0))
#define NEO_IDBG2_IMA_NAME_MASK GENMASK(21, 16)
#define NEO_IDBG2_IMA_NAME_SET(x) (((x) & GENMASK(5, 0)) << 16)
#define NEO_IDBG2_IMA_NAME_GET(x) (((x) >> 16) &  GENMASK(5, 0))
#define NEO_IDBG2_IMA_RDWF_MASK GENMASK(29, 28)
#define NEO_IDBG2_IMA_RDWF_SET(x) (((x) & GENMASK(1, 0)) << 28)
#define NEO_IDBG2_IMA_RDWF_GET(x) (((x) >> 28) &  GENMASK(1, 0))
#define NEO_IDBG2_IMA_WDWF_MASK GENMASK(31, 30)
#define NEO_IDBG2_IMA_WDWF_SET(x) (((x) & GENMASK(1, 0)) << 30)
#define NEO_IDBG2_IMA_WDWF_GET(x) (((x) >> 30) &  GENMASK(1, 0))

#define NEO_IDBG2_IMD 0x1fcc

#define NEO_IDBG2_DONE_STAT 0x1fd0
#define NEO_IDBG2_DONE_STAT_AF BIT(0)
#define NEO_IDBG2_DONE_STAT_GCM BIT(1)
#define NEO_IDBG2_DONE_STAT_CAS BIT(2)
#define NEO_IDBG2_DONE_STAT_CCONVMED BIT(3)
#define NEO_IDBG2_DONE_STAT_EE BIT(4)
#define NEO_IDBG2_DONE_STAT_DF BIT(5)
#define NEO_IDBG2_DONE_STAT_DMAP BIT(6)
#define NEO_IDBG2_DONE_STAT_NR BIT(7)
#define NEO_IDBG2_DONE_STAT_DEMOSAIC BIT(8)
#define NEO_IDBG2_DONE_STAT_CSC BIT(9)
#define NEO_IDBG2_DONE_STAT_DRC BIT(10)
#define NEO_IDBG2_DONE_STAT_PKT BIT(11)

/* ALIAS */
#define NEO_ALIAS_ALIAS_REG0 0x2000

#define NEO_ALIAS_ALIAS_REG1 0x2004

#define NEO_ALIAS_ALIAS_REG2 0x2008

#define NEO_ALIAS_ALIAS_REG3 0x200c

#define NEO_ALIAS_ALIAS_REG4 0x2010

#define NEO_ALIAS_ALIAS_REG5 0x2014

#define NEO_ALIAS_ALIAS_REG6 0x2018

#define NEO_ALIAS_ALIAS_REG7 0x201c

#define NEO_ALIAS_ALIAS_REG8 0x2020

#define NEO_ALIAS_ALIAS_REG9 0x2024

#define NEO_ALIAS_ALIAS_REG10 0x2028

#define NEO_ALIAS_ALIAS_REG11 0x202c

#define NEO_ALIAS_ALIAS_REG12 0x2030

#define NEO_ALIAS_ALIAS_REG13 0x2034

#define NEO_ALIAS_ALIAS_REG14 0x2038

#define NEO_ALIAS_ALIAS_REG15 0x203c

#define NEO_ALIAS_ALIAS_REG16 0x2040

#define NEO_ALIAS_ALIAS_REG17 0x2044

#define NEO_ALIAS_ALIAS_REG18 0x2048

#define NEO_ALIAS_ALIAS_REG19 0x204c

#define NEO_ALIAS_ALIAS_REG20 0x2050

#define NEO_ALIAS_ALIAS_REG21 0x2054

#define NEO_ALIAS_ALIAS_REG22 0x2058

#define NEO_ALIAS_ALIAS_REG23 0x205c

#define NEO_ALIAS_ALIAS_REG24 0x2060

#define NEO_ALIAS_ALIAS_REG25 0x2064

#define NEO_ALIAS_ALIAS_REG26 0x2068

#define NEO_ALIAS_ALIAS_REG27 0x206c

#define NEO_ALIAS_ALIAS_REG28 0x2070

#define NEO_ALIAS_ALIAS_REG29 0x2074

#define NEO_ALIAS_ALIAS_REG30 0x2078

#define NEO_ALIAS_ALIAS_REG31 0x207c

#define NEO_ALIAS_ALIAS_REG32 0x2080

#define NEO_ALIAS_ALIAS_REG33 0x2084

#define NEO_ALIAS_ALIAS_REG34 0x2088

#define NEO_ALIAS_ALIAS_REG35 0x208c

#define NEO_ALIAS_ALIAS_REG36 0x2090

#define NEO_ALIAS_ALIAS_REG37 0x2094

#define NEO_ALIAS_ALIAS_REG38 0x2098

#define NEO_ALIAS_ALIAS_REG39 0x209c

#define NEO_ALIAS_ALIAS_REG40 0x20a0

#define NEO_ALIAS_ALIAS_REG41 0x20a4

#define NEO_ALIAS_ALIAS_REG42 0x20a8

#define NEO_ALIAS_ALIAS_REG43 0x20ac

#define NEO_ALIAS_ALIAS_REG44 0x20b0

#define NEO_ALIAS_ALIAS_REG45 0x20b4

#define NEO_ALIAS_ALIAS_REG46 0x20b8

#define NEO_ALIAS_ALIAS_REG47 0x20bc

#define NEO_ALIAS_ALIAS_REG48 0x20c0

#define NEO_ALIAS_ALIAS_REG49 0x20c4

#define NEO_ALIAS_ALIAS_REG50 0x20c8

#define NEO_ALIAS_ALIAS_REG51 0x20cc

#define NEO_ALIAS_ALIAS_REG52 0x20d0

#define NEO_ALIAS_ALIAS_REG53 0x20d4

#define NEO_ALIAS_ALIAS_REG54 0x20d8

#define NEO_ALIAS_ALIAS_REG55 0x20dc

#define NEO_ALIAS_ALIAS_REG56 0x20e0

#define NEO_ALIAS_ALIAS_REG57 0x20e4

#define NEO_ALIAS_ALIAS_REG58 0x20e8

#define NEO_ALIAS_ALIAS_REG59 0x20ec

#define NEO_ALIAS_ALIAS_REG60 0x20f0

#define NEO_ALIAS_ALIAS_REG61 0x20f4

#define NEO_ALIAS_ALIAS_REG62 0x20f8

#define NEO_ALIAS_ALIAS_REG63 0x20fc

#define NEO_ALIAS_ALIAS_REG64 0x2100

#define NEO_ALIAS_ALIAS_REG65 0x2104

#define NEO_ALIAS_ALIAS_REG66 0x2108

#define NEO_ALIAS_ALIAS_REG67 0x210c

#define NEO_ALIAS_ALIAS_REG68 0x2110

#define NEO_ALIAS_ALIAS_REG69 0x2114

#define NEO_ALIAS_ALIAS_REG70 0x2118

#define NEO_ALIAS_ALIAS_REG71 0x211c

#define NEO_ALIAS_ALIAS_REG72 0x2120

#define NEO_ALIAS_ALIAS_REG73 0x2124

#define NEO_ALIAS_ALIAS_REG74 0x2128

#define NEO_ALIAS_ALIAS_REG75 0x212c

#define NEO_ALIAS_ALIAS_REG76 0x2130

#define NEO_ALIAS_ALIAS_REG77 0x2134

#define NEO_ALIAS_ALIAS_REG78 0x2138

#define NEO_ALIAS_ALIAS_REG79 0x213c

#define NEO_ALIAS_ALIAS_REG80 0x2140

#define NEO_ALIAS_ALIAS_REG81 0x2144

#define NEO_ALIAS_ALIAS_REG82 0x2148

#define NEO_ALIAS_ALIAS_REG83 0x214c

enum neoisp_fields_e {
	NEO_PIPE_CONF_SOFT_RESET_IDX,
	NEO_PIPE_CONF_BUS_TXPARAM_IDX,
	NEO_PIPE_CONF_REG_XFR_DIS_IDX,
	NEO_PIPE_CONF_CSI_CTRL_IDX,
	NEO_PIPE_CONF_FRAME_NUM_IDX,
	NEO_PIPE_CONF_REG_SHD_CTRL_IDX,
	NEO_PIPE_CONF_REG_SHD_CMD_IDX,
	NEO_PIPE_CONF_TRIG_CAM0_IDX,
	NEO_PIPE_CONF_IMG_CONF_CAM0_IDX,
	NEO_PIPE_CONF_IMG_SIZE_CAM0_IDX,
	NEO_PIPE_CONF_IMG0_IN_ADDR_CAM0_IDX,
	NEO_PIPE_CONF_IMG1_IN_ADDR_CAM0_IDX,
	NEO_PIPE_CONF_OUTCH0_ADDR_CAM0_IDX,
	NEO_PIPE_CONF_OUTCH1_ADDR_CAM0_IDX,
	NEO_PIPE_CONF_OUTIR_ADDR_CAM0_IDX,
	NEO_PIPE_CONF_IMG0_IN_LS_CAM0_IDX,
	NEO_PIPE_CONF_IMG1_IN_LS_CAM0_IDX,
	NEO_PIPE_CONF_OUTCH0_LS_CAM0_IDX,
	NEO_PIPE_CONF_OUTCH1_LS_CAM0_IDX,
	NEO_PIPE_CONF_OUTIR_LS_CAM0_IDX,
	NEO_PIPE_CONF_SKIP_CTRL0_IDX,
	NEO_PIPE_CONF_INT_EN0_IDX,
	NEO_PIPE_CONF_INT_STAT0_IDX,
	NEO_PIPE_CONF_CSI_STAT_IDX,
	NEO_HC_CTRL_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_CTRL_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_POINT1_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_POINT2_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_POINT3_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_POINT4_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_OFFSET0_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_OFFSET1_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_OFFSET2_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_OFFSET3_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_OFFSET4_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_RATIO01_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_RATIO23_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_RATIO4_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_NPOINT0_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_NPOINT1_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_NPOINT2_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_NPOINT3_CAM0_IDX,
	NEO_HDR_DECOMPRESS0_KNEE_NPOINT4_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_CTRL_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_POINT1_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_POINT2_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_POINT3_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_POINT4_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_OFFSET0_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_OFFSET1_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_OFFSET2_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_OFFSET3_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_OFFSET4_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_RATIO01_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_RATIO23_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_RATIO4_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_NPOINT0_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_NPOINT1_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_NPOINT2_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_NPOINT3_CAM0_IDX,
	NEO_HDR_DECOMPRESS1_KNEE_NPOINT4_CAM0_IDX,
	NEO_OB_WB0_CTRL_CAM0_IDX,
	NEO_OB_WB0_R_CTRL_CAM0_IDX,
	NEO_OB_WB0_GR_CTRL_CAM0_IDX,
	NEO_OB_WB0_GB_CTRL_CAM0_IDX,
	NEO_OB_WB0_B_CTRL_CAM0_IDX,
	NEO_OB_WB1_CTRL_CAM0_IDX,
	NEO_OB_WB1_R_CTRL_CAM0_IDX,
	NEO_OB_WB1_GR_CTRL_CAM0_IDX,
	NEO_OB_WB1_GB_CTRL_CAM0_IDX,
	NEO_OB_WB1_B_CTRL_CAM0_IDX,
	NEO_OB_WB2_CTRL_CAM0_IDX,
	NEO_OB_WB2_R_CTRL_CAM0_IDX,
	NEO_OB_WB2_GR_CTRL_CAM0_IDX,
	NEO_OB_WB2_GB_CTRL_CAM0_IDX,
	NEO_OB_WB2_B_CTRL_CAM0_IDX,
	NEO_HDR_MERGE_CTRL_CAM0_IDX,
	NEO_HDR_MERGE_GAIN_OFFSET_CAM0_IDX,
	NEO_HDR_MERGE_GAIN_SCALE_CAM0_IDX,
	NEO_HDR_MERGE_GAIN_SHIFT_CAM0_IDX,
	NEO_HDR_MERGE_LUMA_TH_CAM0_IDX,
	NEO_HDR_MERGE_LUMA_SCALE_CAM0_IDX,
	NEO_HDR_MERGE_DOWNSCALE_CAM0_IDX,
	NEO_HDR_MERGE_UPSCALE_CAM0_IDX,
	NEO_HDR_MERGE_POST_SCALE_CAM0_IDX,
	NEO_HDR_MERGE_S_GAIN_OFFSET_CAM0_IDX,
	NEO_HDR_MERGE_S_GAIN_SCALE_CAM0_IDX,
	NEO_HDR_MERGE_S_GAIN_SHIFT_CAM0_IDX,
	NEO_HDR_MERGE_S_LUMA_TH_CAM0_IDX,
	NEO_HDR_MERGE_S_LUMA_SCALE_CAM0_IDX,
	NEO_HDR_MERGE_S_DOWNSCALE_CAM0_IDX,
	NEO_HDR_MERGE_S_UPSCALE_CAM0_IDX,
	NEO_HDR_MERGE_S_POST_SCALE_CAM0_IDX,
	NEO_HDR_MERGE_S_LINE_NUM_CAM0_IDX,
	NEO_COLOR_TEMP_CTRL_CAM0_IDX,
	NEO_COLOR_TEMP_ROI_POS_CAM0_IDX,
	NEO_COLOR_TEMP_ROI_SIZE_CAM0_IDX,
	NEO_COLOR_TEMP_REDGAIN_CAM0_IDX,
	NEO_COLOR_TEMP_BLUEGAIN_CAM0_IDX,
	NEO_COLOR_TEMP_POINT1_CAM0_IDX,
	NEO_COLOR_TEMP_POINT2_CAM0_IDX,
	NEO_COLOR_TEMP_HOFFSET_CAM0_IDX,
	NEO_COLOR_TEMP_VOFFSET_CAM0_IDX,
	NEO_COLOR_TEMP_POINT1_SLOPE_CAM0_IDX,
	NEO_COLOR_TEMP_POINT2_SLOPE_CAM0_IDX,
	NEO_COLOR_TEMP_LUMA_TH_CAM0_IDX,
	NEO_COLOR_TEMP_CSC_MAT0_CAM0_IDX,
	NEO_COLOR_TEMP_CSC_MAT1_CAM0_IDX,
	NEO_COLOR_TEMP_CSC_MAT2_CAM0_IDX,
	NEO_COLOR_TEMP_CSC_MAT3_CAM0_IDX,
	NEO_COLOR_TEMP_CSC_MAT4_CAM0_IDX,
	NEO_COLOR_TEMP_R_GR_OFFSET_CAM0_IDX,
	NEO_COLOR_TEMP_GB_B_OFFSET_CAM0_IDX,
	NEO_COLOR_TEMP_CNT_WHITE_CAM0_IDX,
	NEO_COLOR_TEMP_SUMRL_CAM0_IDX,
	NEO_COLOR_TEMP_SUMRH_CAM0_IDX,
	NEO_COLOR_TEMP_SUMGL_CAM0_IDX,
	NEO_COLOR_TEMP_SUMGH_CAM0_IDX,
	NEO_COLOR_TEMP_SUMBL_CAM0_IDX,
	NEO_COLOR_TEMP_SUMBH_CAM0_IDX,
	NEO_COLOR_TEMP_SUMRGL_CAM0_IDX,
	NEO_COLOR_TEMP_SUMRGH_CAM0_IDX,
	NEO_COLOR_TEMP_SUMBGL_CAM0_IDX,
	NEO_COLOR_TEMP_SUMBGH_CAM0_IDX,
	NEO_COLOR_TEMP_STAT_BLK_SIZE0_IDX,
	NEO_COLOR_TEMP_STAT_CURR_BLK_Y0_IDX,
	NEO_COLOR_TEMP_CROI0_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI0_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI0_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI0_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI0_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI1_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI1_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI1_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI1_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI1_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI2_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI2_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI2_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI2_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI2_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI3_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI3_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI3_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI3_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI3_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI4_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI4_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI4_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI4_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI4_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI5_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI5_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI5_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI5_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI5_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI6_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI6_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI6_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI6_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI6_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI7_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI7_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI7_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI7_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI7_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI8_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI8_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI8_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI8_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI8_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_CROI9_POS_CAM0_IDX,
	NEO_COLOR_TEMP_CROI9_PIXCNT_CAM0_IDX,
	NEO_COLOR_TEMP_CROI9_SUMRED_CAM0_IDX,
	NEO_COLOR_TEMP_CROI9_SUMGREEN_CAM0_IDX,
	NEO_COLOR_TEMP_CROI9_SUMBLUE_CAM0_IDX,
	NEO_COLOR_TEMP_GR_AVG_IN_CAM0_IDX,
	NEO_COLOR_TEMP_GB_AVG_IN_CAM0_IDX,
	NEO_COLOR_TEMP_GR_GB_CNT_CAM0_IDX,
	NEO_COLOR_TEMP_GR_SUM_CAM0_IDX,
	NEO_COLOR_TEMP_GB_SUM_CAM0_IDX,
	NEO_COLOR_TEMP_GR2_SUM_CAM0_IDX,
	NEO_COLOR_TEMP_GB2_SUM_CAM0_IDX,
	NEO_COLOR_TEMP_GRGB_SUM_CAM0_IDX,
	NEO_RGBIR_CTRL_CAM0_IDX,
	NEO_RGBIR_CCM0_CAM0_IDX,
	NEO_RGBIR_CCM1_CAM0_IDX,
	NEO_RGBIR_CCM2_CAM0_IDX,
	NEO_RGBIR_CCM0_TH_CAM0_IDX,
	NEO_RGBIR_CCM1_TH_CAM0_IDX,
	NEO_RGBIR_CCM2_TH_CAM0_IDX,
	NEO_RGBIR_ROI0_POS_CAM0_IDX,
	NEO_RGBIR_ROI0_SIZE_CAM0_IDX,
	NEO_RGBIR_ROI1_POS_CAM0_IDX,
	NEO_RGBIR_ROI1_SIZE_CAM0_IDX,
	NEO_RGBIR_HIST0_CTRL_CAM0_IDX,
	NEO_RGBIR_HIST0_SCALE_CAM0_IDX,
	NEO_RGBIR_HIST1_CTRL_CAM0_IDX,
	NEO_RGBIR_HIST1_SCALE_CAM0_IDX,
	NEO_STAT_ROI0_POS_CAM0_IDX,
	NEO_STAT_ROI0_SIZE_CAM0_IDX,
	NEO_STAT_ROI1_POS_CAM0_IDX,
	NEO_STAT_ROI1_SIZE_CAM0_IDX,
	NEO_STAT_HIST0_CTRL_CAM0_IDX,
	NEO_STAT_HIST0_SCALE_CAM0_IDX,
	NEO_STAT_HIST1_CTRL_CAM0_IDX,
	NEO_STAT_HIST1_SCALE_CAM0_IDX,
	NEO_STAT_HIST2_CTRL_CAM0_IDX,
	NEO_STAT_HIST2_SCALE_CAM0_IDX,
	NEO_STAT_HIST3_CTRL_CAM0_IDX,
	NEO_STAT_HIST3_SCALE_CAM0_IDX,
	NEO_IR_COMPRESS_CTRL_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_POINT1_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_POINT2_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_POINT3_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_POINT4_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_OFFSET0_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_OFFSET1_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_OFFSET2_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_OFFSET3_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_OFFSET4_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_RATIO01_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_RATIO23_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_RATIO4_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_NPOINT0_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_NPOINT1_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_NPOINT2_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_NPOINT3_CAM0_IDX,
	NEO_IR_COMPRESS_KNEE_NPOINT4_CAM0_IDX,
	NEO_BNR_CTRL_CAM0_IDX,
	NEO_BNR_YPEAK_CAM0_IDX,
	NEO_BNR_YEDGE_TH0_CAM0_IDX,
	NEO_BNR_YEDGE_SCALE_CAM0_IDX,
	NEO_BNR_YEDGES_TH0_CAM0_IDX,
	NEO_BNR_YEDGES_SCALE_CAM0_IDX,
	NEO_BNR_YEDGEA_TH0_CAM0_IDX,
	NEO_BNR_YEDGEA_SCALE_CAM0_IDX,
	NEO_BNR_YLUMA_X_TH0_CAM0_IDX,
	NEO_BNR_YLUMA_Y_TH_CAM0_IDX,
	NEO_BNR_YLUMA_SCALE_CAM0_IDX,
	NEO_BNR_YALPHA_GAIN_CAM0_IDX,
	NEO_BNR_CPEAK_CAM0_IDX,
	NEO_BNR_CEDGE_TH0_CAM0_IDX,
	NEO_BNR_CEDGE_SCALE_CAM0_IDX,
	NEO_BNR_CEDGES_TH0_CAM0_IDX,
	NEO_BNR_CEDGES_SCALE_CAM0_IDX,
	NEO_BNR_CEDGEA_TH0_CAM0_IDX,
	NEO_BNR_CEDGEA_SCALE_CAM0_IDX,
	NEO_BNR_CLUMA_X_TH0_CAM0_IDX,
	NEO_BNR_CLUMA_Y_TH_CAM0_IDX,
	NEO_BNR_CLUMA_SCALE_CAM0_IDX,
	NEO_BNR_CALPHA_GAIN_CAM0_IDX,
	NEO_BNR_EDGE_STAT_CAM0_IDX,
	NEO_BNR_EDGES_STAT_CAM0_IDX,
	NEO_BNR_STRETCH_CAM0_IDX,
	NEO_VIGNETTING_CTRL_CAM0_IDX,
	NEO_VIGNETTING_BLK_CONF_CAM0_IDX,
	NEO_VIGNETTING_BLK_SIZE_CAM0_IDX,
	NEO_VIGNETTING_BLK_STEPY_CAM0_IDX,
	NEO_VIGNETTING_BLK_STEPX_CAM0_IDX,
	NEO_VIGNETTING_BLK_C_LINE_CAM0_IDX,
	NEO_VIGNETTING_BLK_C_ROW_CAM0_IDX,
	NEO_VIGNETTING_BLK_C_FRACY_CAM0_IDX,
	NEO_IDBG1_LINE_NUM_IDX,
	NEO_IDBG1_CURR_LINE_NUM_IDX,
	NEO_IDBG1_IMA_IDX,
	NEO_IDBG1_IMD_IDX,
	NEO_IDBG1_DONE_STAT_IDX,
	NEO_DEMOSAIC_CTRL_CAM0_IDX,
	NEO_DEMOSAIC_ACTIVITY_CTL_CAM0_IDX,
	NEO_DEMOSAIC_DYNAMICS_CTL0_CAM0_IDX,
	NEO_DEMOSAIC_DYNAMICS_CTL2_CAM0_IDX,
	NEO_RGB_TO_YUV_GAIN_CTRL_CAM0_IDX,
	NEO_RGB_TO_YUV_MAT0_CAM0_IDX,
	NEO_RGB_TO_YUV_MAT1_CAM0_IDX,
	NEO_RGB_TO_YUV_MAT2_CAM0_IDX,
	NEO_RGB_TO_YUV_MAT3_CAM0_IDX,
	NEO_RGB_TO_YUV_MAT4_CAM0_IDX,
	NEO_RGB_TO_YUV_MAT5_CAM0_IDX,
	NEO_RGB_TO_YUV_OFFSET0_CAM0_IDX,
	NEO_RGB_TO_YUV_OFFSET1_CAM0_IDX,
	NEO_RGB_TO_YUV_OFFSET2_CAM0_IDX,
	NEO_DRC_ROI0_POS_CAM0_IDX,
	NEO_DRC_ROI0_SIZE_CAM0_IDX,
	NEO_DRC_ROI1_POS_CAM0_IDX,
	NEO_DRC_ROI1_SIZE_CAM0_IDX,
	NEO_DRC_GROI_SUM_SHIFT_CAM0_IDX,
	NEO_DRC_GBL_GAIN_CAM0_IDX,
	NEO_DRC_LCL_BLK_SIZE_CAM0_IDX,
	NEO_DRC_LCL_STRETCH_CAM0_IDX,
	NEO_DRC_LCL_BLK_STEPY_CAM0_IDX,
	NEO_DRC_LCL_BLK_STEPX_CAM0_IDX,
	NEO_DRC_LCL_SUM_SHIFT_CAM0_IDX,
	NEO_DRC_ALPHA_CAM0_IDX,
	NEO_DRC_GROI0_SUM_CAM0_IDX,
	NEO_DRC_GROI1_SUM_CAM0_IDX,
	NEO_DRC_STAT_BLK_Y_CAM0_IDX,
	NEO_DRC_CURR_YFRACT_CAM0_IDX,
	NEO_NR_CTRL_CAM0_IDX,
	NEO_NR_BLEND_SCALE_CAM0_IDX,
	NEO_NR_BLEND_TH0_CAM0_IDX,
	NEO_NR_EDGECNT_CAM0_IDX,
	NEO_DF_CTRL_CAM0_IDX,
	NEO_DF_TH_SCALE_CAM0_IDX,
	NEO_DF_BLEND_SHIFT_CAM0_IDX,
	NEO_DF_BLEND_TH0_CAM0_IDX,
	NEO_DF_EDGECNT_CAM0_IDX,
	NEO_EE_CTRL_CAM0_IDX,
	NEO_EE_CORING_CAM0_IDX,
	NEO_EE_CLIP_CAM0_IDX,
	NEO_EE_MASKGAIN_CAM0_IDX,
	NEO_EE_EDGECNT_CAM0_IDX,
	NEO_CCONVMED_CTRL_CAM0_IDX,
	NEO_CAS_GAIN_CAM0_IDX,
	NEO_CAS_CORR_CAM0_IDX,
	NEO_CAS_OFFSET_CAM0_IDX,
	NEO_PACKETIZER_CH0_CTRL_CAM0_IDX,
	NEO_PACKETIZER_CH12_CTRL_CAM0_IDX,
	NEO_PACKETIZER_PACK_CTRL_CAM0_IDX,
	NEO_GCM_IMAT0_CAM0_IDX,
	NEO_GCM_IMAT1_CAM0_IDX,
	NEO_GCM_IMAT2_CAM0_IDX,
	NEO_GCM_IMAT3_CAM0_IDX,
	NEO_GCM_IMAT4_CAM0_IDX,
	NEO_GCM_IMAT5_CAM0_IDX,
	NEO_GCM_IOFFSET0_CAM0_IDX,
	NEO_GCM_IOFFSET1_CAM0_IDX,
	NEO_GCM_IOFFSET2_CAM0_IDX,
	NEO_GCM_OMAT0_CAM0_IDX,
	NEO_GCM_OMAT1_CAM0_IDX,
	NEO_GCM_OMAT2_CAM0_IDX,
	NEO_GCM_OMAT3_CAM0_IDX,
	NEO_GCM_OMAT4_CAM0_IDX,
	NEO_GCM_OMAT5_CAM0_IDX,
	NEO_GCM_OOFFSET0_CAM0_IDX,
	NEO_GCM_OOFFSET1_CAM0_IDX,
	NEO_GCM_OOFFSET2_CAM0_IDX,
	NEO_GCM_GAMMA0_CAM0_IDX,
	NEO_GCM_GAMMA1_CAM0_IDX,
	NEO_GCM_GAMMA2_CAM0_IDX,
	NEO_GCM_BLKLVL0_CTRL_CAM0_IDX,
	NEO_GCM_BLKLVL1_CTRL_CAM0_IDX,
	NEO_GCM_BLKLVL2_CTRL_CAM0_IDX,
	NEO_GCM_LOWTH_CTRL01_CAM0_IDX,
	NEO_GCM_LOWTH_CTRL2_CAM0_IDX,
	NEO_GCM_MAT_CONFG_CAM0_IDX,
	NEO_AUTOFOCUS_ROI0_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI0_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI1_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI1_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI2_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI2_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI3_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI3_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI4_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI4_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI5_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI5_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI6_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI6_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI7_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI7_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_ROI8_POS_CAM0_IDX,
	NEO_AUTOFOCUS_ROI8_SIZE_CAM0_IDX,
	NEO_AUTOFOCUS_FIL0_COEFFS0_CAM0_IDX,
	NEO_AUTOFOCUS_FIL0_COEFFS1_CAM0_IDX,
	NEO_AUTOFOCUS_FIL0_COEFFS2_CAM0_IDX,
	NEO_AUTOFOCUS_FIL0_SHIFT_CAM0_IDX,
	NEO_AUTOFOCUS_FIL1_COEFFS0_CAM0_IDX,
	NEO_AUTOFOCUS_FIL1_COEFFS1_CAM0_IDX,
	NEO_AUTOFOCUS_FIL1_COEFFS2_CAM0_IDX,
	NEO_AUTOFOCUS_FIL1_SHIFT_CAM0_IDX,
	NEO_AUTOFOCUS_ROI0_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI0_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI1_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI1_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI2_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI2_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI3_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI3_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI4_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI4_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI5_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI5_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI6_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI6_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI7_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI7_SUM1_CAM0_IDX,
	NEO_AUTOFOCUS_ROI8_SUM0_CAM0_IDX,
	NEO_AUTOFOCUS_ROI8_SUM1_CAM0_IDX,
	NEO_IDBG2_LINE_NUM_IDX,
	NEO_IDBG2_CURR_LINE_NUM_IDX,
	NEO_IDBG2_IMA_IDX,
	NEO_IDBG2_IMD_IDX,
	NEO_IDBG2_DONE_STAT_IDX,
	NEO_ALIAS_ALIAS_REG0_IDX,
	NEO_ALIAS_ALIAS_REG1_IDX,
	NEO_ALIAS_ALIAS_REG2_IDX,
	NEO_ALIAS_ALIAS_REG3_IDX,
	NEO_ALIAS_ALIAS_REG4_IDX,
	NEO_ALIAS_ALIAS_REG5_IDX,
	NEO_ALIAS_ALIAS_REG6_IDX,
	NEO_ALIAS_ALIAS_REG7_IDX,
	NEO_ALIAS_ALIAS_REG8_IDX,
	NEO_ALIAS_ALIAS_REG9_IDX,
	NEO_ALIAS_ALIAS_REG10_IDX,
	NEO_ALIAS_ALIAS_REG11_IDX,
	NEO_ALIAS_ALIAS_REG12_IDX,
	NEO_ALIAS_ALIAS_REG13_IDX,
	NEO_ALIAS_ALIAS_REG14_IDX,
	NEO_ALIAS_ALIAS_REG15_IDX,
	NEO_ALIAS_ALIAS_REG16_IDX,
	NEO_ALIAS_ALIAS_REG17_IDX,
	NEO_ALIAS_ALIAS_REG18_IDX,
	NEO_ALIAS_ALIAS_REG19_IDX,
	NEO_ALIAS_ALIAS_REG20_IDX,
	NEO_ALIAS_ALIAS_REG21_IDX,
	NEO_ALIAS_ALIAS_REG22_IDX,
	NEO_ALIAS_ALIAS_REG23_IDX,
	NEO_ALIAS_ALIAS_REG24_IDX,
	NEO_ALIAS_ALIAS_REG25_IDX,
	NEO_ALIAS_ALIAS_REG26_IDX,
	NEO_ALIAS_ALIAS_REG27_IDX,
	NEO_ALIAS_ALIAS_REG28_IDX,
	NEO_ALIAS_ALIAS_REG29_IDX,
	NEO_ALIAS_ALIAS_REG30_IDX,
	NEO_ALIAS_ALIAS_REG31_IDX,
	NEO_ALIAS_ALIAS_REG32_IDX,
	NEO_ALIAS_ALIAS_REG33_IDX,
	NEO_ALIAS_ALIAS_REG34_IDX,
	NEO_ALIAS_ALIAS_REG35_IDX,
	NEO_ALIAS_ALIAS_REG36_IDX,
	NEO_ALIAS_ALIAS_REG37_IDX,
	NEO_ALIAS_ALIAS_REG38_IDX,
	NEO_ALIAS_ALIAS_REG39_IDX,
	NEO_ALIAS_ALIAS_REG40_IDX,
	NEO_ALIAS_ALIAS_REG41_IDX,
	NEO_ALIAS_ALIAS_REG42_IDX,
	NEO_ALIAS_ALIAS_REG43_IDX,
	NEO_ALIAS_ALIAS_REG44_IDX,
	NEO_ALIAS_ALIAS_REG45_IDX,
	NEO_ALIAS_ALIAS_REG46_IDX,
	NEO_ALIAS_ALIAS_REG47_IDX,
	NEO_ALIAS_ALIAS_REG48_IDX,
	NEO_ALIAS_ALIAS_REG49_IDX,
	NEO_ALIAS_ALIAS_REG50_IDX,
	NEO_ALIAS_ALIAS_REG51_IDX,
	NEO_ALIAS_ALIAS_REG52_IDX,
	NEO_ALIAS_ALIAS_REG53_IDX,
	NEO_ALIAS_ALIAS_REG54_IDX,
	NEO_ALIAS_ALIAS_REG55_IDX,
	NEO_ALIAS_ALIAS_REG56_IDX,
	NEO_ALIAS_ALIAS_REG57_IDX,
	NEO_ALIAS_ALIAS_REG58_IDX,
	NEO_ALIAS_ALIAS_REG59_IDX,
	NEO_ALIAS_ALIAS_REG60_IDX,
	NEO_ALIAS_ALIAS_REG61_IDX,
	NEO_ALIAS_ALIAS_REG62_IDX,
	NEO_ALIAS_ALIAS_REG63_IDX,
	NEO_ALIAS_ALIAS_REG64_IDX,
	NEO_ALIAS_ALIAS_REG65_IDX,
	NEO_ALIAS_ALIAS_REG66_IDX,
	NEO_ALIAS_ALIAS_REG67_IDX,
	NEO_ALIAS_ALIAS_REG68_IDX,
	NEO_ALIAS_ALIAS_REG69_IDX,
	NEO_ALIAS_ALIAS_REG70_IDX,
	NEO_ALIAS_ALIAS_REG71_IDX,
	NEO_ALIAS_ALIAS_REG72_IDX,
	NEO_ALIAS_ALIAS_REG73_IDX,
	NEO_ALIAS_ALIAS_REG74_IDX,
	NEO_ALIAS_ALIAS_REG75_IDX,
	NEO_ALIAS_ALIAS_REG76_IDX,
	NEO_ALIAS_ALIAS_REG77_IDX,
	NEO_ALIAS_ALIAS_REG78_IDX,
	NEO_ALIAS_ALIAS_REG79_IDX,
	NEO_ALIAS_ALIAS_REG80_IDX,
	NEO_ALIAS_ALIAS_REG81_IDX,
	NEO_ALIAS_ALIAS_REG82_IDX,
	NEO_ALIAS_ALIAS_REG83_IDX,
	NEOISP_FIELD_COUNT
};

struct neoisp_regs_s {
	struct regmap_field *fields[NEOISP_FIELD_COUNT];
};

bool neoisp_valid_reg(struct device *dev, unsigned int reg);

#endif /* NEO_REGS_H */
